【发布时间】:2018-06-05 23:27:07
【问题描述】:
主要问题是是否可以以任何流畅的方式在 html 模板中的不同给定位置指定特定的表单字段。例如{{ form.password }} 但是,这似乎不起作用。 (我发誓我在某个地方看到过这个,但我在网上找不到了)
我注册新用户的观点是从 UserCreationForm 继承的,看起来像这样:
views.py
def signup(request):
if request.method == "POST":
form = UserCreationForm(request.POST)
if form.is_valid():
form.save()
username = form.cleaned_data.get('username')
raw_password = form.cleaned_data.get('password1')
user = authenticate(username=username, password=raw_password)
login(request, user)
return redirect('home')
else:
form = UserCreationForm()
return render(request, 'core/authentication/registration_form.html', {'form': form})
它将这个表单直接发送到模板registration_form.html,我希望它是这样工作的:
<form class="form" method="POST" action="">
<div class="card-body">
<div class="input-group form-group-no-border">
<span class="input-group-addon">
<i class="now-ui-icons users_circle-08"></i>
</span>
{{ form.first_name }}
</div>
</div>
这就是它的实际工作方式(目前):
<form class="form" method="POST" action="">
<div class="card-body">
<div class="input-group form-group-no-border">
<span class="input-group-addon">
<i class="now-ui-icons users_circle-08"></i>
</span>
<input type="text" class="form-control" placeholder="First Name...">
</div>
</div>
这可能是个愚蠢的问题,但我很好奇。
提前谢谢你
【问题讨论】:
-
可以定义单个字段,您的第一个示例是正确的。最好这样做,而不是对字段进行编码。您是从
UserCreationForm继承的具有相同名称的表单?发布您的表单代码。