如何在Django中传递参数值?

时间:2017-05-30 16:00:52

标签: javascript python django

我的目标是让用户输入他们的用户名和密码,然后在数据库中检查它是否正确,以允许他们登录或拒绝访问。目前,我进行了设置,以便在html页面中询问他们的信息,然后调用用户身份验证页面的URL,然后转到视图文件,然后检查数据库是否匹配。我写了一些代码,但我一直遇到错误,我似乎无法弄清楚如何解决它。

这是否是正确的设置,用于检查用户信息,即使是正确的方法,也可以采用另一种方式更有效地进行此操作?这是我现在的代码。

HTML页面:

urlpatterns = [
  url(r'^user_authentication/$', views.user_authentication, name='user_authentication'),
]

urls.py:

def user_authentication(request):
  username = request.GET.get('username')
  password = request.GET.get('password')
  if (username == "Stack" and password == "Overflow"):
    return render(request, 'next url goes here')

views.py:

{{1}}

我尝试使用GET,但这不起作用。我还没有数据库设置,所以现在我只是硬编码用户名和密码要求才能进入下一个网址。

1 个答案:

答案 0 :(得分:0)

您只需要一个简单的HTML表单。



<form action="{% url 'user_authentication' %}" method="GET">
  <div>
    <label for="username">Username</label>
    <input name="username" id="username">
  </div>
  <div>
    <label for="password">Password</label>
    <input name="password" id="password">
  </div>
  <div>
    <input type="submit">
  </div>
</form>
&#13;
&#13;
&#13;

这将在GET参数中发送您的用户名和密码(显然在您将使用POST的真实站点中,并从Django中的request.POST获取数据)。

注意,这是所有基本的Web开发,并没有特定于Django;您可以从介绍HTML教程中受益。