大家好!!!我的表单有问题,下面是代码,任何帮助将不胜感激......
View .py
def my_registration_view(request):
if request.method == 'POST':
form = MyForm(request.POST)
if form.is_valid():
user = User.objects.create_user(username=form.cleaned_data['username'],
first_name=form.cleaned_data['first_name'],
last_name=form.cleaned_data['last_name'],
email=form.cleaned_data['email'],
password=form.cleaned_data['password'],)
user.save()
return HttpResponseRedirect(reverse('profile', args=[user.id]))
else:
return render_to_response('register.html', {'form': form}, context_instance=RequestContext(request))
else:
form = MyForm()
context = {'form': form}
return render_to_response('register.html', context, context_instance=RequestContext(request))
我的 forms.py 工作正常
class MyForm(forms.Form):
username = forms.CharField(max_length=25)
first_name = forms.CharField(max_length=25)
last_name = forms.CharField(max_length=25)
email = forms.EmailField()
password = forms.CharField(widget=forms.PasswordInput())
这是我的 forms.py,当它被替换时,停止显示字段。
class MyForm(forms.Form):
class Meta:
model = User
fields = ['username', 'first_name', 'last_name', 'email', 'password']
这里是register.html
<form action="{% url 'register' %}" method="post">{% csrf_token %}
{{ form.as_p }}
<input type='submit' value='Submit' />
</form>
最佳答案
将 forms.Form 替换为 forms.ModelForm。这应该可行。
class MyForm(forms.ModelForm):
class Meta:
model = User
fields = ['username', 'first_name', 'last_name', 'email', 'password']
关于python - django 模板中不显示表单字段,仅显示提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30610831/