2013-11-15 3 views
1

У меня возникли проблемы с разбивкой моего файла views.py на несколько файлов в папке представлений. Я пробовал методы от this question, но я продолжаю получать сообщение об ошибке.split views.py в несколько файлов

структура файла:

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

Кто-нибудь еще были проблемы с этим или есть какие-либо предложения?

ответ

6

Написать свой код в urls.py как обычно (то есть, импортировать вид из этого views модуля, как если бы он был views.py) и добавить к __init__.py в views:

from sign_in_out_up import * 

Это гарантирует, что вы можете продолжать разделить взгляды в модуле views без необходимости обновлять urls.py все время.

+0

У меня по-прежнему появляется сообщение об ошибке «Невозможно импортировать названия». Ошибка указывает на строку в urls.py, где я пытаюсь импортировать представление. – Hat

+0

Хорошо, что я не работал. Спасибо за разъяснения! – Hat

1

Использование

from .sign_in_out_up import * 

в views/__nint__.py вместо.

Добавить '.' до 'sign_in_out_up'.

Смежные вопросы