我想知道如何更改默认UserRegistrationForm的显示。 这是我的views.py文件。如何自定义Django的UserRegistration表单?
from django.http import *
from django.shortcuts import render_to_response
from django.http import HttpResponseRedirect
from django.contrib import auth
from django.core.context_processors import csrf
from django.contrib.auth.forms import UserCreationForm
from forms import MyRegistrationForm
def register_user(request):
if request.method == 'POST':
form = MyRegistrationForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/accounts/register_success')
args = {}
args.update(csrf(request))
args['form'] = MyRegistrationForm()
return render_to_response('register.html', args)
def register_success(request):
return render_to_response('register_success.html')
这是在register_user的模板中显示的内容。
{% extends "application/base.html" %}
{% block content %}
<h2> Register </h2>
<form action="/accounts/register/" method="post">{% csrf_token %}
{{form}}
<input type="submit" value="Register" />
</form>
{% endblock %}
我要访问的每一个申请的{{形式}}独立,使得它很容易访问view.how办呢?
而且这是我的forms.py文件
from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
class MyRegistrationForm(UserCreationForm):
email = forms.EmailField(required=True)
class Meta:
model = User
fields = ('username', 'email', 'password1', 'password2')
def save(self,commit=True):
user=super(MyRegistrationForm, self).save(commit=False)
user.email=self.cleaned_data['email']
if commit:
user.save()
return user
请帮助我,我是新来的Django?
您不能从模板访问视图。另外(它可能是一个错字),但你打印的第一个文件是视图,而不是网址。该视图组合了属性和值的上下文(字典)并呈现模板,并将呈现的信息(通常为HTML)返回给用户。你想在模板中做什么? –
我只想美化我的登记表> – user2823667
如何做到这一点?我想在该表单的字段上应用一些CSS? 与此同时,我不想更改该表单的功能,即表单必须执行与之前相同的功能.... – user2823667