jos*_*osh 7 python django python-3.5
在我正在进行的项目中,我将大量较大的文件分成小块,以便更容易使用.一个具体的例子是在Django中基于函数的视图创建基于类的视图:
# 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())
]
Run Code Online (Sandbox Code Playgroud)
在上面,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,将每个导入都放在一个单独的行上是不可行的.
您可以使用of LoginView作为名称导入.app.views__init__.pyapp.views
在app/views/__init__.py:
from LoginView import LoginView
Run Code Online (Sandbox Code Playgroud)
在 urls.py
import app.views
urlpatterns = [
url(r'^login', app.views.LoginView.as_view())
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2889 次 |
| 最近记录: |