Django如何实现密码错误报错提醒

URLconf:应用设计url需要创建的一个python模块,这个模块包含url模式(简单正则),到视图函数

views视图:视图函数,简称视图,它接受web请求并且返回Web响应,响应可以是一张HTML网页,一个重定向,一个404错误,一个XML文档,或者一张图片

settings:Django项目的配置文件,包括Django模块应用配置,数据库配置,模块配置

wsgis:与WSGI兼容web服务为你的项目服务的入口点

urls配置文件

from django.conf.urls import url
from django.contrib import admin
from sign import views
urlpatterns = [
  url(r'^admin/', admin.site.urls),
  url(r'^login',views.login),#login路径
]
r'^index/$'
匹配符  
r 字符串前面加“r”是为防止字符串出现类似"\t"字符时转义
^ 匹配字符串开头;在多行模式中匹配每一行的开头,如^abc,abc
$ 匹配字符串末尾;在多行模式中匹配每一行末尾,如abc$,abc
from django.shortcuts import render
from django.shortcuts import redirect #重新定向模块

def login(request):
   #包含用户提交的所有信息
   #获取用户提交方法
  error_msg = ""
  if request.method == "POST":
    #获取用户通过POST提交过来的数据
    user =request.POST.get('username',None)
    pwd =request.POST.get('password',None)
    if user == 'root' and pwd == '123':
      #去跳转到
      return redirect('www.baidu.com')
    else:
      #用户密码不匹配
      error_msg = '用户名或密码错误'
    # user = request.POST['user']
    # pwd = request.POST['pwd']
    # print(user,pwd)
  return render(request,'login.html',{'error_msg':error_msg})

settings配置

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
#'django.middleware.csrf.CsrfViewMiddleware',#当前会话id加上密钥的散列值不注释的话会报错的
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

login.html配置

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    label{
    width:80px;
    text-align:right;
    display: inline-block;
    }
  </style>
</head>
<body>

    <form action="/login" method="post">
      <p>
        <label for="username">用户名:</label>
        <input name="username" type='text' placeholder='uaername'><br>
        <label for="password">密码:</label>
        <input name="password" type='password' placeholder='password'><br>
        <input type="submit" value="登录"/>
        <span style="color:red;">{{ error_msg }}</span>
      </p>
  </form>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Django-migrate报错问题解决方案

    python3 manage.py makemigrations # 生成数据库迁移文件 python3 manage.py migrate # 迁移数据库 简简单单两条命令就完成了django的数据库迁移 但是今天一天的时间都耽误在这了,一点都不夸张的那种,,早上去公司讨论需求之后,研究了一下需要更改一下数据库,在执行makemigrations的时候OK没有问题,但是migrate就报错了 1.报错: XX表已经存在,django.db.utils.OperationalError: (10

  • 解决django model修改添加字段报错的问题

    关于django models中添加字段的一个小节,记录下 django的models中已经写好了字段,可是后面我又想在添加一些字段,于是就在models中添加了字段 ,发现报错了 报错的类型: 字段重复了 不知道的列 : 最后解决的方法 : 到models的目录下打开文件 ,直接把所需的字段添加到第一次编译的文件中 , 重新执行数据库的迁移 ,如果依然有报错,提示有未知的列 ,就查看数据库 ,那个列缺失,就把列给添加上 添加未知的列 至此,重新执行迁移 ,妥妥的成功了 ! 以上这篇解决djan

  • django项目运行因中文而乱码报错的几种情况解决

    前言 django项目开发过程中,碰到了多种情况下的中文乱码报错,在这儿做一下处理总结. 报错:UnicodeEncodeError: 'ascii' codec can't encode characters in position x-x: ordinal not in range(128) 1.因代码中的中文注释问题的报错 django项目的.py文件文件中加入了中文注释,经常会因此报错而导致无法运行,究其原因是编码的问题,最后的解决办法是直接在有中文注释的.py文件的顶部加上: # -*

  • django启动uwsgi报错的解决方法

    uwsgi介绍 uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换. 要注意 WSGI / uwsgi / uWSGI 这三个概念的区分. WSGI是一种Web服务器网关接口.它是一个Web服务器(如nginx,uWSGI等服务器)与web应用(如用Flask框架写的程序)通信的一种规范. uwsgi是一种线路协议而不是通信协议,在此常用于在uWSGI服务器与其他网络服务器的数据通信. 而u

  • 基于Django实现日志记录报错信息

    这篇文章主要介绍了基于Django实现日志记录报错信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 当服务器500错误的时候,普通日志只会记录一行500的request信息,并不会记录详细的报错定位 [ERROR] 2019-06-12 15:07:03,597 "GET /api/v1/test/ HTTP/1.1" 500 74196 需要添加一个在日志中记录详细错误信息的middleware # -*- coding: UTF

  • 解决django migrate报错ORA-02000: missing ALWAYS keyword

    错误信息 PS D:\parttime\python\django\guanxiangzhiji> python manage.py migrate Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions Running migrations: Traceback (most recent call last): File "D:\app\anaconda\lib\site-packa

  • django model去掉unique_together报错的解决方案

    事情是这样的,我有一个存储考试的表 class Exam(models.Model): category = cached_fields.ForeignKeyField(Category) name = models.CharField(max_length=128) date = models.DateField() created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(au

  • Django重装mysql后启动报错:No module named ‘MySQLdb’的解决方法

    发现问题 最近由于卸载Mysql时将很多相关依赖包都卸载了,重装mysql后启动django出现如下错误: django.core.exceptions.ImproperlyConfigured:Error loading MySQLdb module: No module named 'MySQLdb". Did you install mysqlclient or MySQL-python? 由于开发时python版本为3.6.4,MySQL-python不支持python3,经过一番折腾安

  • Django之创建引擎索引报错及解决详解

    学习Django框架时,创建一个引擎及索引时报错,具体报错如下: 执行命令: python3 manage.py rebuild_index 报如下错误: ......(前面一堆报错) File "/home/python/Django/test6/test6/urls.py", line 20, in <module> url(r'^admin/', include(admin.site.urls)), File "/home/python/.virtualen

  • Django 解决阿里云部署同步数据库报错的问题

    写在最前面: 在阿里云租了一台服务器,搭建了一个博客,采用的是Ubuntu+Django+uwsgi+nginx+mysql的结构. 运行了一段时间后,我发现我忘记了django自带后台的密码! 然后很常规的修改密码的操作,就是无法登陆! 然后想再创建一个超级用户,登上去看看什么情况,结果创建超级用户又报错? 可是本地环境是ok的,然后同步数据库出错...反正没有对的. 然后同步数据库报错如下: 手机端截的图,查了一下报错,应该是setting.py的配置问题,然后我把生产上的代码拿下来看了下.

随机推荐