django全局使用及用户登录模块实现

本文详细介绍了如何在Django框架中实现全局应用的配置与集成,以及用户登录注册模块的创建过程,包括认证机制、视图设置和模板设计。通过对Django内置的用户模型和认证系统的深入理解,开发者可以构建出安全、高效的用户管理系统。
摘要由CSDN通过智能技术生成
django - 1.9.8
python - 2.7

程序打头声明: # -*- coding: utf-8 -*-
pycharm 设置中 file and code template 可以编辑新建文件的模板
py文件中 __date__='$DATE $TIME'可以自动生成当前时间

PEP8 的规范:
import python自带
import 第三方
import自己定义的

空两行
若app过多 存放在一个文件下 不用search forreference 和 open moved file in editor 然后mark source root
setting。py :import sys
sys.path.insert(0,os.path.join(BASE_DIR,'目录名'))

srtting。py中修改框架 语言
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_TZ = False数据存储时间设为本机
django目录
网址入口,关联到对应的views.py中的一个函数(或者generic类),访问网址就对应一个函数。
处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。(功能实现)
与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。
templates 文件夹
views.py 中的函数渲染templates中的Html模板,得到动态内容的网页,当然可以用缓存来提高速度。
后台,可以用很少量的代码就拥有一个强大的后台。
Django 的设置,配置文件,比如 DEBUG 的开关,静态文件的位置等。
创建 static 文件夹 存放静态文件


django版本
Django 1.5.x 支持 Python 2.6.5 Python 2.7, Python 3.2 和 3.3.
Django 1.6.x 支持 Python 2.6.X, 2.7.X, 3.2.X 和 3.3.X
Django 1.7.x 支持 Python 2.7, 3.2, 3.3, 和 3.4 (注意:Python 2.6 不支持了)
Django 1.8.x 支持 Python 2.7, 3.2, 3.3, 3.4 和 3.5.  (长期支持版本 LTS)
Django 1.9.x 支持 Python 2.7, 3.4 和 3.5. 不支持 3.3 了
Django 1.10.x 支持 Python 2.7, 3.4 和 3.5. 
Django 1.11.x 支持 Python 2.7, 3.4, 3.5 和 3.6(长期支持版本 LTS) 最后一个支持 Python 2.7 的版本
Django 2.0.x 支持 Python 3.4, 3.5 和 3.6 (注意,不再支持 Python 2)


虚拟环境使用方法:
mkvirtualenv  zqxt:创建运行环境zqxt
workon  zqxt: 工作在 zqxt 环境 或 从其它环境切换到 zqxt 环境
deactivate : 退出终端环境


数据库
pip install mysql-python 一般会报错推荐使用 https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python 下载源码安装
navicat中创建新的数据库字符集utf8 排序规则utf8 general。ci
setting。py中 DATABASES = {
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'webdb',
        'USER':'root',
        'PASSWORD':'1234',
        'HOST':'127.0.0.1'
    }
}
run maneger.py task 然后 makemigration创建默认数据表 migration生成数据表

run maneger.py task startapp 【app名】创建新的app
使用了image字段需要pip install pillow
model.py 中设计数据表例如
class UserProfile(AbstractUser):
nick_name = models.CharField(max_length=50,verbose_name=u'昵称',default='')
image = models.ImageField(upload_to="image/%Y/%m",default=u"image/default.png",max_length=100)

新建
class EmailVerifyRecord(models.Model):
    code = models.CharField(max_length=20, verbose_name=u"验证码")
    email = models.EmailField(max_length=50, verbose_name=u"邮箱")
    send_type = models.CharField(verbose_name=u"验证码类型", choices=(("register",u"注册"),("forget",u"找回密码"), ("update_email",u"修改邮箱")), max_length=30)
    send_time = models.DateTimeField(verbose_name=u"发送时间", default=datetime.now)

    class Meta:
        verbose_name=u'邮箱验证码'
        verbose_name_plural = verbose_name


继承 from django.contrib.auth.models import
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值