我想知道如何更改默認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