Django / Python注册页面
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django / Python注册页面相关的知识,希望对你有一定的参考价值。
我正在为我的django(2.0版)网站制作一个注册页面,但这对我来说非常麻烦,我很确定要点并且附加信息不应该马上出现。
如何使此注册页面看起来更干净? IE浏览器。只是用户名,密码和确认文本框,而不是所有消息。
谢谢!
Register.html
<h2>Sign up</h2>
<br>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Sign up</button>
</form>
注册视图
def register(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('index')
else:
form = UserCreationForm()
return render(request, 'todo/register.html', {'form': form})
答案
有很多方法可以实现这一目标。
- 覆盖默认的
UserCreationForm()
class MyForm(UserCreationForm): email = forms.EmailField(required=True) email.help_text = '' ...
- 在视图模板中,而不是使用
{{ form.as_p }}
手动渲染表单<form action="" method="post">{% csrf_token %} {{ form.username.label }} {{ form.username }} ... </form>
- 设计自定义模板并将字段名称映射到表单字段名称。
希望能帮助到你 !
另一答案
您没有指定此UserCreationForm来自哪里,也没有指定您的django版本,但无论如何:搜索django的代码源,看起来那些是默认contrib.auth.forms.UserCreationForm
的各个小部件/字段的help_text,所以是“项目符号和附加信息”实际上“应该马上出现”。就我而言(从我的意思是用户的角度来看)它确实“立即显示”是一件好事,所以我不必重新输入两次,三次或更多的用户名和密码,直到我发现通过试验/错误系统预期(或者更常见的是,只是简单地放弃在此站点上注册)。
现在,如果你真的想要挫败你的用户(并且在途中松散了一半),你当然可以通过rendering the form manually掩盖所有有用的信息,这样你就可以完全控制哪些消息出现,何时,何地以及如何。
以上是关于Django / Python注册页面的主要内容,如果未能解决你的问题,请参考以下文章
Django框架进阶7 forms组件(pycharm内置测试环境Python Console), cookie与session操作