python_Django 实现登入功能form表单的参数接收处理

1.创建Django工程。

参考https://www.cnblogs.com/CK85/p/10159159.html中步骤。

2.在urls.py文件中添加url分发路径

"""Django_test URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/2.1/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path(‘‘, views.home, name=‘home‘)
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path(‘‘, Home.as_view(), name=‘home‘)
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path(‘blog/‘, include(‘blog.urls‘))
"""
from django.contrib import admin
from django.urls import path
from app01 import views

urlpatterns = [
    path(‘admin/‘, admin.site.urls),
    path(‘login/‘, views.login, name=‘login‘),
    path(‘authentication/‘, views.authentication, name=‘authentication‘),
]

  路径分发时编辑name可以为路径取一个别名,在html文件中通过别名进行访问,避免过多的命名的改变。

3.在view.py中添加两个界面的试图函数。

from django.shortcuts import render, HttpResponse
import time

# Create your views here.

def login(request):
    return render(request, ‘login.html‘, locals())

def authentication(request):
    # print(request.method)
    user_name = request.GET.get(‘user‘)
    pwd = request.GET.get(‘pwd‘)
    user_dic = {
        ‘ck‘: ‘123‘,
        ‘ck1‘: ‘123‘,
        ‘ck2‘: ‘123‘,
    }
    if user_name in user_dic:
        if user_dic[user_name] == pwd:

            print(‘authentication passed‘)
            user = user_name
            output = render(request, ‘well_come.html‘, {‘username‘: user})
        else:
            print(‘incorrect username or password‘)
            output = HttpResponse(‘<h1>incorrect username or password</h1>‘)

    else:
        print(‘不在‘)
        output = HttpResponse(‘<h1>the user dose not exist</h1>‘)

    return output

  login视图函数在用户访问时将login.html发送给用户。

  authentication进行用户登入信息的验证和处理。

  HttpResponse返回一个http响应。

4.在templates文件夹中创建对应的html文件:

login.html:

<!DOCTYPE html>
<html lang="en">
<head>

    <meta charset="UTF-8">
    <title>Title</title>

</head>
<body>
    <h1>登入</h1>
    <div>
        <form action="{% url "authentication" %}" >
            <p>手机号:<input type="text" name="user"></p>
            <p>密码:<input type="text" name="pwd"></p>
            <p><input type="submit" value="提交"></p>
            {% csrf_token %}
        </form>
    </div>
</body>
</html>

  login界面是用户在登入时看到的界面,需要用户在该页面中输入账号和密码。

  其中使用form表单进行读取数据,action=“/authentication/”与action=“{% url "authentiction" %}”相同,前者使用路径访问,后者使用别名访问。

  在form表单中input标签type=’text‘ 和type=’submit‘组合使用,使得在用户点击提交按钮时使用form表单method中传入的方法将两个text中的值与text的name组成键值对传给在form表单action路径的文件。

well_come.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>你好!  {{ username }}</h1>
</body>
</html>

  well_come界面为用户成功登入之后的欢迎界面。

  

原文地址:https://www.cnblogs.com/CK85/p/10162369.html

时间: 2024-09-27 00:05:31

python_Django 实现登入功能form表单的参数接收处理的相关文章

form 表单序列化参数,ajax提交

①form表单的参数序列化后,然后提交. $.ajax({ type: 'post', url:$form1.attr("action"), data:$form1.serializeArray(),//序列化参数 dataType:"json", success: function(json){ if("200" == json.statusCode){ }else{ alertMsg.warn(json.message); } } }); ②

Web---演示Servlet的相关类、表单多参数接收、文件上传简单入门

说明: Servlet的其他相关类: ServletConfig – 代表Servlet的初始化配置参数. ServletContext – 代表整个Web项目. ServletRequest – 代表用户的请求. ServletResponse – 代表用户的响应. 本篇博客讲解: ServletRequest – 代表用户的请求. ServletResponse – 代表用户的响应. 表单中的多选框参数接收. 文件的上传技术. ServletRequest : ServletRequest

Form 表单提交参数

今天因为要额外提交参数数组性的参数给form传到后台而苦恼了半天,结果发现,只需要在form表单对应的字段html空间中定义name = 后台参数名 的属性就ok了. 后台本来是只有模型参数的,但是后来增加了一个. 只要在前台定义 name="Users" 的select . 点击提交的时候,select 的多选值会自动传入后台参数Users[]中. 已经是第二次忘记这个神奇的作用,特此记下.

使用HttpClient 建立带有cookie 以及传送form 表单的请求

在项目中用到了,需要使用HttpClient 进行模拟表单传送form 表单的需求,在平常的项目中,大概都是传送json串的样式需求,但是如何才能给对应的服务器传送一个form 表单呢? 这就需要了NameValuePair 的传参方式,就可以进行form表单数据的传输,我在这里记录下 1.需要先定义 NameValuePair 的集合,这个集合里面放入我们form 表单的元素 List<NameValuePair> pair= new ArrayList<>(); //放入我们的

jQuery实现ajax提交form表单(可以是提交json),用springmvc接收。图文详解

第一种方法(简单易用,防蚊虫): 1.1 从form表单到congtroller接收.1 是form表单,2 是ajax提交 3 springmvc接收 1.2 debug 看后台数据,看到了吧,userEO接收到数据了 1.3 有人想看看seralize和seralizeArray数据不同 seralize:id=1&name=xiaohua&age=18&sex=man seralizeArray[ id 1],[ name xiaohua],[ age 18],[ sex m

[js开源组件开发]query组件,获取url参数和form表单json格式

query组件,获取url参数和form表单json格式 距离上次的组件[js开源组件开发]ajax分页组件一转眼过去了近二十天,或许我一周一组件的承诺有了质疑声,但其实我一直在做,只是没人看到……,最近项目紧,几个小组,只有我一个前端,公司对前端的定位不清晰,导致前端人员过少的情况.所以还得促进公司前端人员增长,不然再这么玩下去,我要被玩死了,一个公司,不可能靠一个资深前端来支撑二三十个开发的需求,这是不现实的,特别是现在的页面不再是复制粘贴的前况下.我默默耕芸,所以这次我整理了这一个月里所有

Django之form表单操作

小白必会三板斧 from django.shortcuts import render,HttpResponse,redirect HttpRespone:返回字符串 render:返回html页面 redirect:重定向 静态文件配置 静态文件:网站所用到的,自己写好js,自己写好css,第三方的框架bootstrap fontwesome sweetalert 通常情况下网站所用到的静态文件资源统一都放在static文件下 STATIC_URL='/static' 是访问静态资源的接口前缀

MyReport有填报功能了!!!MyReport.Form表单引擎

MyReport.Form表单引擎,主要提供表单模板的设计以及表单模板的预览填报等功能集合. 支持文本框.选择框.数字框.日期框.图片框.组合框.弹出框等常用控件. 支持表格行的添加,删除,移动等常见操作,输入焦点自动导航. 支持表达式,轻松实现表格统计. 支持常见样式设置,支持条件样式.   在线演示 MyReport.Form表单引擎在线演示 相关资料 MyReport专栏 联系作者 QQ:695541918 版权声明:本文为博主原创文章,未经博主允许不得转载.

Form 表单提交功能,jQuery实现

1 <form name="MYFORM" id="MYFORM"> 2 <input name="name" size="30" type="text" id="name" class="span12" placeholder="Name" /> 3 <input name="email" siz