Django-регистрация частично включена в django, получая ошибку имени
Я установил django-регистрацию с помощью pip версии 0.7.
Затем с
urls.py
from core.forms import UserRegistrationForm
from registration.views import register
urlpatterns = patterns('',
url(r'^accounts/register/$', register, {'backend': 'registration.backends.default.DefaultBackend','form_class': RegistrationForm}, name='registration_register'),
(r'^accounts/', include('registration.urls')),
)
ядро /forms.py
from django import forms
from registration.forms import RegistrationForm
class UserRegistrationForm(RegistrationForm):
name = forms.CharField()
Я получаю (обновлено)
ImportError at /accounts/register/
No module named forms
Теперь, если с оболочкой я делаю:
>>> import registration.forms
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.6/dist-packages/registration/forms.py", line 9, in <module>
from django.contrib.auth.models import User
File "/usr/local/lib/python2.6/dist-packages/django/contrib/auth/models.py", line 7, in <module>
from django.db import models
File "/usr/local/lib/python2.6/dist-packages/django/db/__init__.py", line 14, in <module>
if not settings.DATABASES:
File "/usr/local/lib/python2.6/dist-packages/django/utils/functional.py", line 276, in __getattr__
self._setup()
File "/usr/local/lib/python2.6/dist-packages/django/conf/__init__.py", line 40, in _setup
raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.
я получаю эту ошибку.
Но import registration
идет хорошо, и я использую в urls.py registration.views.register
без проблем.
Что я могу сделать, чтобы устранить эту проблему?
ОБНОВЛЕНИЕ: благодаря @DrTyrsa я попробовал с python manage.py shell
и импорт registration.forms работает, но не работает в моем файле
>>> import registration.forms
>>> import core.forms
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/var/www/vhosts/opineo/core/forms.py", line 2, in <module>
from registration.forms import RegistrationForm
ImportError: No module named forms
я не понимаю, почему.. регистрация установлена с pip, и это в пути Python
1 ответ
Решение
Решение "я идиот":)
В то время как я проверял все, я заметил, что у меня есть папка с именем registration и init.py внутри.
Это было перезаписать django-регистрацию, включая; переименовал его и ошибка исчезла.