将views.py拆分为多个文件

时间:2013-11-15 21:33:13

标签: django

我在将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

是否有其他人遇到此问题或有任何建议?

2 个答案:

答案 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'