Django неправильно настроен для импорта пользователя

Я пытаюсь настроить регистрационную форму django. И мой form.py выглядит так:

from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
class MyRegistrationForm(UserCreationForm):
    first_name=forms.CharField(max_length=120, required=True,label='First Name')
    last_name=forms.CharField(max_length=120, required=True,label='Last Name')
    email=forms.EmailField(label='Email Address')
    company_or_institution=forms.CharField(max_length=120, required=True,label='Company or Institution Name')
    class Meta:
        model = User
        fields = ('username', 'email', 'password1', 'password2')

    def save(self,commit = True):   
        user = super(MyRegistrationForm, self).save(commit = False)
        user.first_name = self.cleaned_data['first_name']
        user.last_name = self.cleaned_data['last_name']
        user.email = self.cleaned_data['email']
        user.company_or_institution = self.cleaned_data['company_or_institution']

    if commit:
        user.save()
    return user

И мой views.py

def register_user(request):
    if request.method == 'POST':
        form = MyRegistrationForm(request.POST)
        print form.is_valid()
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/accounts/register_success')
    args = {}
    args.update(csrf(request))
    args['form'] = MyRegistrationForm()
    return render(request, 'register.html', args)

Но когда я тестирую свои формы .py из терминала (формы python.py), я получаю следующую ошибку:

Traceback (most recent call last):
File "forms.py", line 8, in <module>
from django.contrib.auth.models import User
File "/usr/local/lib/python2.7/dist-packages/django/contrib /auth/__init__.py", line 7, in <module>
from django.middleware.csrf import rotate_token
File "/usr/local/lib/python2.7/dist-packages/django/middleware/csrf.py", line 14, in <module>
from django.utils.cache import patch_vary_headers
File "/usr/local/lib/python2.7/dist-packages/django/utils/cache.py", line 26, in <module>
from django.core.cache import caches
File "/usr/local/lib/python2.7/dist-packages/django/core/cache/__init__.py", line 34, in <module>
if DEFAULT_CACHE_ALIAS not in settings.CACHES:
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 48, in __getattr__
self._setup(name)
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 42, in _setup
% (desc, ENVIRONMENT_VARIABLE))

django.core.exceptions.ImproperlyConfigured: Запрошена настройка КЭШИ, но настройки не настроены. Вы должны либо определить переменную среды DJANGO_SETTINGS_MODULE, либо вызвать settings.configure() перед доступом к настройкам.

Кто-нибудь знает, как это исправить? Спасибо


person Paul85    schedule 18.03.2016    source источник


Ответы (1)


Это не имеет ничего общего с вашими формами или вообще с вашим кодом.

Если вы вообще собираетесь использовать Django, вы должны запустить свой терминал с помощью python manage.py shell, чтобы он правильно настроил среду.

person Daniel Roseman    schedule 18.03.2016
comment
Спасибо за ваш ответ, но я не получил ваш ответ, не могли бы вы объяснить более подробно - person Paul85; 19.03.2016
comment
Перевод: Не беги python forms.py. Вместо этого запустите python manage.py shell и импортируйте классы форм из этой оболочки. Использование команды shell настроит среду (и загрузит настройки Django), чтобы вы могли взаимодействовать с моделями, формами, представлениями и т. д. - person rnevius; 19.03.2016