通过url预填充表单字段

时间:2020-11-10 16:00:01

标签: python django

我有一个注册表单,当输入已经注册的电子邮件时,它会显示一条带有登录链接的错误消息,单击登录链接时,它将重定向到登录页面,在这里我要用该用户的电子邮件。我正在使用Django。

有人知道怎么做吗? 我将不胜感激。谢谢。

我在urls.py中的登录网址:

path('login/', views.login, name="login")

错误消息中的我的登录链接:

<a href="login/">login</a>

请让我做什么,添加到url链接中以使用用户电子邮件ID预先填充。

1 个答案:

答案 0 :(得分:1)

您只需要使用request.GET检索URL中提供的数据,并使用它在登录视图中预填充form's initial。大致如下:

def login(request, *args, **kwargs):
    initial = {}
    if 'email' in request.GET:
        initial['email'] = request.GET['email']
    form = LoginForm(request.POST or None, initial=initial)
    ...

当然,您必须将电子邮件添加到登录URL:

<a href="login/?email=foo@bar.baz">login</a>