2016-03-18 19 views
0

Django kayıt formunu özelleştirmeye çalışıyorum.Django Hatalı içe aktarma için yapılandırıldı Kullanıcı

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 

Ve 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) 

olduğu Ama terminali (piton forms.py) benim forms.py test ediyorum, ben alıyorum takip ediyorum: Ve forms.py şöyle hata:

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: önbelleklerini ayarı Talep edilen fakat ayarları yapılandırılmamış. Ayarlara erişmeden önce ya DJANGO_SETTINGS_MODULE ortam değişkenini tanımlamalı ya da settings.configure() işlevini çağırmalısınız.

Bunu düzeltmek konusunda herhangi bir fikri olan var mı? Teşekkürler

cevap

0

Bu, formlarınızla veya kodlarınızla hiçbir ilgisi yoktur.

Django'yu hiç kullanacaksanız, terminalinizi python manage.py shell kullanarak başlatmalısınız, böylece ortamı uygun şekilde ayarlar.

+0

Cevabınız için teşekkür ederiz ama cevabınızı alamıyorsunuz lütfen daha fazla bilgi veriniz – Paul85

+0

Çeviri: 'python forms.py' komutunu çalıştırmayın. Bunun yerine, 'python manage.py shell' komutunu çalıştırın ve form sınıflarınızı bu kabuktan içe aktarın. 'Shell' komutunu kullanarak ortamı kurar (ve Django ayarlarını çeker) böylece modeller, formlar, görünümler vb. Ile etkileşime girebilirsiniz. – rnevius