2016-08-13 3 views
5

私が取り組んでいるプロジェクトでは、より大きなファイルをたくさん分割して扱いやすくなりました。一つの具体的な例としては、Djangoの中の関数ベースのビューからクラスベースのビューを作成しますPython 3でのデフォルトのエクスポート

以上
# app/views/LoginView.py 
class LoginView(View): 
    ... 

# urls.py 
from app.views import LoginView 
urlpatterns = [ 
    # Here, I have to use LoginView twice 
    url(r'^login', LoginView.LoginView.as_view()) 
] 

、私はLoginView輸入モジュールをインポートするので、私はそれを呼び出したいとき二回LoginViewを使用する必要があり、ないから方法たとえそれらが同じ名前であっても、理想的には、毎回LoginView.LoginViewに電話する必要はありません。

JavaScriptで

、私はそれを命名することなく、export default function my_function() { ... }を言うことができる、それが輸入だときには、デフォルトだ例えばimport my_function from './some_module.js';

のPython 3にこのような何かを行うにはどのような方法がありますか?私はfrom app.views.LoginView import LoginViewをやりたいとは思っていません。特に、大きなDjangoプロジェクトやurls.pyのようなファイルでは、別々の行にそれぞれインポートすることはできません。

答えて

4

app.viewsLoginView__init__.pyapp.viewsを使用してインポートできます。 app/views/__init__.py

urls.py

import app.views 

urlpatterns = [ 
    url(r'^login', app.views.LoginView.as_view()) 
] 
from LoginView import LoginView 

関連する問題