我在将views.py
文件拆分为views文件夹中的多个文件时遇到了一些麻烦。我尝试了this question中的方法,但我不断收到错误消息。
文件结构:
users/
__init__.py
urls.py
views/
__init__.py
sign_in_out_up.py
urls.py:
from users import views as user
urlpatterns = patterns('',
url(r'^signup/', user.sign_in_out_up.signup),
url(r'^signin/', user.sign_in_out_up.signin),
url(r'^signout/', user.sign_in_out_up.signout),
)
当我尝试上面的代码时,收到错误'module' object has no attribute 'sign_in_out_up'
。
我在users.views.sign_in_out_up.signup
中尝试了urls.py
,但随后错误更改为name 'users' is not defined
,这似乎是倒退了一步。
我也尝试将from sign_in_out_up import *
放入views/__init__.py
是否有其他人遇到此问题或有任何建议?
答案 0 :(得分:7)
正常地在urls.py
中编写代码(即,从views
模块导入视图,就像它是views.py
一样)并在{{1}内添加__init__.py
}}:
views
这可确保您可以继续在from sign_in_out_up import *
模块中拆分视图,而无需一直更新views
。
答案 1 :(得分:1)
使用
from .sign_in_out_up import *
在views/__init__.py
中。
在'.'
之前添加'sign_in_out_up'
。