如何在Django中为用户注册表单实现自定义HTML模板?

时间:2019-09-03 16:39:32

标签: django django-forms

Example of HTML Signup I want to implement

目标是为Django中的用户注册表单实现一个我已经创建的自定义HTML模板。

我看过{{form.as_p}}和脆脆的表格,但是这些选项似乎不允许我在html中以不同的长度分隔不同的字段。这样,“姓氏”字段和“姓氏”字段位于第1行,电子邮件地址完全占据了第二行,而两个密码字段位于同一行。

2 个答案:

答案 0 :(得分:1)

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> <div class="row"> <div class="border col"> left left left left left left left left left left left left </div> <div class="border col-auto"> center </div> <div class="border col"> right </div> </div>中创建一个login.html模板,并在其中声明了输入字段的地方添加templates/registration等(确保您使用的是Django使用的字段名称,或使用假设您要传递表单,则每个字段的name=first_name

答案 1 :(得分:0)

只需从简单的内容开始,然后您就可以使其更加有趣。尝试这样的事情:

HTML:

<form action="/action/path">
    <input name="first_name" />
    <input name="last_name" />
    <input type="submit" />
</form>

视图({/action/path,或您选择的任何选项都应指向此视图):

def register_view(request):
    first_name = request.POST.get('first_name')
    last_name = request.POST.get('last_name')  # Repeat for all fields
    User.objects.create_user(first_name=first_name, last_name=last_name, ...)
    return redirect('/')

这是它的基本要点。制作自己的表单和视图以进行注册。这将是您最简单的方法。