# dhango_login_plus **Repository Path**: wangyedao/dhango_login ## Basic Information - **Project Name**: dhango_login_plus - **Description**: 用bootstrap美化了一下,登录界面模板是模板之家找的。基于django做了一个简单的注册登录网站 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2019-01-18 - **Last Updated**: 2024-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README django注册登录 =========== ##步骤 1.新建项目django-admin startproject my_login 2.新建login模块python manage.py startapp login 3.迁移数据库 (1)(生成SQL 语句)python manage.py makemigrations, (2)(执行SQL语句)python manege.py migrat 4.运行python manage.py runserver 127.0.0.1;8000 ##开发 1.创建user类 2.settings install app 插接上login模块 3.python manage.py makemigrations; python manage.py migrate(迁移数据库) 4.python manage.py createsuperuser (创建超级管理用户) 5.访问http://127.0.0.1:8000/admin用上步注册的登录,然后添加一些测试用户(也可以直接在login_user直接添加) 6.设计路由 7.开发views.py 8.session会话管理。简单的用户名密码跟数据库信息比对成功后,服务器仍然还不知道这个用户登录没有,*因为http请求是无状态的*,用户在此访问某一页时服务器并不知道用户登录没有。解决:当用户登录成功后服务器生成session自己保存一份,并在返回response时添加set-cookie(sessionid='sdkafaf'),浏览器根据影响自己把session保存到cookie中,之后浏览器每次请求都会携带cookie( 就好像参数),服务器比对session发现有就说明用户刚刚登陆过,允许访问受限页面。 django_session表中存储session信息。key字段的值跟浏览器cookie中的sessionid值一致,session_data字段解密后{‘is_login':TRue} 9 .注册功能。表单验证体验更好,直接显示错误信息,而后端需要刷新页面才能看出,前端验证会被黑客直接构造请求请求 ,后端验证安全 ## 基本需求 1.简单登录 2.简单注册 3.session cookie 4.ajax表单验证 5.邮箱验证 (思路,user表新增active,注册保存到数据库后,取user.id),base64编码userif,拼url,邮箱内容请点击激活链接,然后进入active,更新这个用户行的ACTIVE字段为True ## 追加需求 14同时在线 15注册表单页需要填写的内容较多,突然浏览器崩溃关闭 16.注册登录后帮用户自动登录 ##报错 1.django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb' 没有MySQL驱动 django没有支持这么多的MySQL驱动,只支持MySQLdb驱动 解决方法- 安装MySQLdb包,这个包只能去官网下载对应的exe程序,无法直接安装 mysql-connector-python.exe 解决方法二 mysqldb安装麻烦,所以有人重写不依赖C编译的包,但是语法和接口调用跟MySQLdb相同的包。pip install mysqlclient 解决方法三: 在根目录/my_login/init.py写上 import pymysql pymysql.install_as_MySQLdb() 2.django.db.utils.InternalError: (1049, "Unknown database 'login'") 没有创建数据库 解决方法三个步骤: 1.mysql -u root -p 2.create database login; 3.python manage.py migrate