我得到一個錯誤, NameError at/accounts/regist/ 全局名稱'RegisterForm'未定義。全局名稱'RegisterForm'未定義
我確實定義了'RegisterForm'。 我forms.py
from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.forms import AuthenticationForm
class RegisterForm(UserCreationForm):
def __init__(self, *args, **kwargs):
__init__(*args, **kwargs)
self.fields['username'].widget.attrs['class'] = 'form-control'
self.fields['password1'].widget.attrs['class'] = 'form-control'
self.fields['password2'].widget.attrs['class'] = 'form-control'
class LoginForm(AuthenticationForm):
def __init__(self, *args, **kwargs):
__init__(*args, **kwargs)
self.fields['username'].widget.attrs['class'] = 'form-control'
self.fields['password'].widget.attrs['classF'] = 'form-control'
在urls.py
from django.conf.urls import url
from . import views
from django.contrib.auth.views import login, logout
urlpatterns = [
url(r'^login/$', login,
{'template_name': 'registration/accounts/login.html'},
name='login'),
url(r'^logout/$', logout, name='logout'),
url(r'^regist/$', views.regist,name='regist'),
url(r'^regist_save/$', views.regist_save, name='regist_save'),
]
如何解決它寫在views.py
from django.contrib.auth.forms import AuthenticationForm
from django.contrib.auth.decorators import login_required
from django.http import HttpResponse
from django.shortcuts import render, redirect
from django.views.decorators.http import require_POST
def index(request):
context = {
'user': request.user,
}
return render(request, 'accounts/index.html', context)
@login_required
def profile(request):
context = {
'user': request.user,
}
return render(request, 'accounts/profile.html', context)
def regist(request):
form = RegisterForm(request.POST or None)
context = {
'form': form,
}
return render(request, 'accounts/regist.html', context)
@require_POST
def regist_save(request):
form = RegisterForm(request.POST)
if form.is_valid():
form.save()
return redirect('main:index')
context = {
'form': form,
}
return render(request, 'accounts/regist.html', context)
? (我是初學者)
THX烏爾comments.by的方式,我應該在哪裏寫烏爾班RegisterForm? 它是forms.py? – lili