zoukankan      html  css  js  c++  java
  • Django登录案例-基础版

    创建Django项目

    django-admin startproject projectname
    

    创建app

    python manage.py startapp appname
    

    注册app

    打开settings.py在INSTALLED_APPS里面添加上以下代码:

    'userapp.apps.UserappConfig',
    

    注释掉csrf

    打开settings.py文件找到以下代码并注释掉csrf

    MIDDLEWARE = [
        'django.middleware.security.SecurityMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.common.CommonMiddleware',
        # 'django.middleware.csrf.CsrfViewMiddleware',  # 注释以便form表单提交测试
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
        'django.middleware.clickjacking.XFrameOptionsMiddleware',
    ]
    

    Django项目使用MySQL数据库

    1、在Django项目的settings.py文件中配置数据库信息:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',  # 数据库引擎,类型
            'NAME': '数据库名称',
            'USER': '用户名',
            'PASSWORD': '密码',
            'HOST': '地址',
            'POST': 3306,
        }
    }
    

    2、在与Django项目同名的目录下的__init__.py文件中写如下代码,告诉Django使用pymysql模块连接MySQL数据库:

    import pymysql
    pymysql.install_as_MySQLdb()
    

    创建数据库

    create database name;
    

    使用orm操作数据库

    1、项目的app目录下找到models.py文件写入以下代码:

    from django.db import models
    
    
    # Create your models here.
    class User(models.Model):
        user = models.CharField(max_length=32)  # 用户名 charset(32)
        password = models.CharField(max_length=32)  # 密码 charset(32)
    

    2、数据迁移,需要自己手动创建好对应的数据库;在Terminal终端中输入迁移命令:

    python manage.py makemigrations  # 生成迁移记录文件
    python manage.py migrate  # 迁移
    

    执行完命令后Django会帮我们创建相应的数据表
    uploading-image-909523.png
    3、自行添加几条数据用于登录测试。

    配置静态文件路径

    1、在项目的根目录下创建一个static目录用于存放静态文件。
    2、在Django项目的settings.py文件中添加如下代码,设置静态文件的别名和静态文件的路径。一个项目中可以添加多个静态文件路径,依次往下查找。

    STATIC_URL = '/static/'  # 静态文件别名
    STATICFILES_DIRS = [
    	os.path.join(BASE_DIR, 'static')
    ]
    

    注意:在引用静态文件时需要以别名开头,示例如下:

    <link rel="stylesheet" href="/static/css/style.css">
    

    创建登录页面

    1、在项目的templates目录下创建login.html和index.html文件。

    • login.html
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>login</title>
    </head>
    <body>
    <form action="" method="post">
        密码:<input type="text" name="username" id="" placeholder="请输入账号">
        密码:<input type="password" name="password" id="" placeholder="请输入密码">
        <button type="submit">登录</button>
    </form>
    </body>
    </html>
    

    编写登录函数

    1、在项目app目录下的views.py文件中编写登录对应的函数,代码如下:

    from django.shortcuts import render
    from django.shortcuts import redirect  # 重定向
    
    from userapp.models import *
    
    
    # Create your views here.
    # index 函数
    def index(request):
        return render(request, 'index.html')
    
    
    # 登录函数
    def login(request):
        # 1、判断浏览器的请求方式
        if request.method == 'POST':
            # 2、post请求,获取浏览器提交过来的数据
            username = request.POST['b_username']  # b_username 为浏览器提交过来的name字段
            password = request.POST['b_password']  # b_password 为浏览器提交过来的name字段
            # 拿到浏览器提交的数据后与数据库中的用户名和密码做比较,需要导入models
            if User.objects.filter(user=username, password=password):
                # 有数据返回则表示登录成功,重定向到首页
                return redirect('/index/')
        # get请求或者登录失败都返回登录页面进行重新登录
        return render(request, 'login.html')
    

    2、在与项目同名的目录下的urls.py文件中添加上函数与url的对应关系:

    from django.conf.urls import url
    from django.contrib import admin
    from userapp.views import *
    
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^index/', index),
        url(r'^login/', login),
    ]
    

    启动项目

    1、终端启动,进入到项目目录下执行以下命令:

    python manage.py runserver
    

    2、pycharm启动,点击菜单栏中的Run,在点击Run ‘projectname’或者直接点击右上角的三角形图标。
    uploading-image-971824.png

    登录测试

    1、启动项目后再浏览器中输入:127.0.0.1:8000/login回车即可进入到登录界面,输入用户名和密码点击提交,如果账号密码正确就会重定向到首页,如果登录失败则返回登录页面重新登录。

  • 相关阅读:
    asp.net各种视频格式转换为flv格式代码
    万能播放器代码
    FlashPaper安装及使用方法
    falsh播放器代码(播放器收集)
    正则表达式
    Windows API介绍及用法:CreateFileMapping和MapViewOfFile函数(进程间数据共享)
    Win7 魔兽争霸打开时最小化
    CSV文件格式
    Excel
    asp.net先于iis安装导致iis不能解析aspx的问题(Failed to access IIS metabase,IISメタベースにアクセスできませんでした)
  • 原文地址:https://www.cnblogs.com/xsh168/p/11599947.html
Copyright © 2011-2022 走看看