django登录注册流程

django 缓存表

数据库

# settings中配置
CACHES = {
    'default':{
        'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
        'LOCATION': 'my_cache_table', #缓存数据库名称

    }
}
# 操作方法views中
from django.views.decorators.cache import cache_page

@cache_page(60*7)

django-redis

pip install django-redis
#settings 中作为cache backend使用配置



brew install redis-server

扩展auth_user表

auth_user表继承于django.contrib.auth.models中的AbstractUser
继承时不要修改username字段
重定义AUTH_USER_MODEL
在执行makemigrations前,由于admin中很多依赖于auth_user,可能迁移出错,所以将数据库中除auth_user表全部删除后再执行数据库迁移
CharField类型必须指定max_length

设计app

设计表时避免表的循环引用

“`
例如在users的models中有UserCourse, 在course的models中有CourseComment
在users中的UserCourse中的course 需要import course
在course中的CourseComment中的user 需要import user

避免循环import,循环import会出错

解决思路:app分层,建立上层app引用下层<br>
同时将只于user衔接的表定义在user中
***
## 设计表tips

引入包分3部分: 第一部分,python自带包 第二部分,第三方库包 第三部分,自定义导入模块 每部分之间用一行空格分隔

datatime.now()是生成表的时间 datatime.now 是表对象实例化的时间

django没有一对多,多对一的映射,只有外键的映射 model可以继承

***
## 后台管理

特点: 权限管理 少前端样式 快速开发

***
## settings

USE_TZ = False 本地时间

***
## xadmin 导入设置
1. pip安装

虚拟环境中pip install git+git://github.com/sshwsfc/xadmin.git 在settings中注册xadmin 以及依赖 crispy_forms

2. 源码安装

git 搜索xadmin 下载源码安装包 拷贝源码中xadmin文件 在项目中新建extra_apps package 将xadmin放入extra_apps 中 在pycharm中souce extra_apps文件夹 在settings中加入搜索位置 improt sys sys.path.insert(0,os.path.join(BASE_DIR,’extra_apps’))

3. app中注册model
```python




# xadmin自动发现userprofile用户表,其余表需要注册到adminx.py中,所以需要在每个app下新建adminx.py import xadmin from .model import * class EmailVerifyRecordAdmin(object): # xadmin继承于object类   list_display=['code','email','send_type','send_time'] # 自定义后台显示字段   search_fields = ['code','email','send_type']   # 自定义搜索类型   list_filter = ['code','email','send_type','send_time'] # 自定义筛选字段   ######## list_fitter = ['course__name'] 外键的筛选需要两个下划线  ######## xadmin.site.register(EmailVerifyRecord,EmailVerifyRecordAdmin)   # 注册emailverifyrecord表到xadmin后台
  1. xadmin全局配置 在基础app的adminx下配置
from xadmin import views


class BaseSetting(object):
    enable_themes = True
    use_bootswatch = True
    # 以上两个为主题功能

class GlobalSettings(object):
    site_title = 'NATEE-后台管理系统'
    site_footer = 'NATEE.site'
    # 以上为页头和页脚配置
    menu_style = 'accordion'
    # 以上为左侧导航样式


xadmin.site.register(views.BaseAdminView,BaseSetting) # 注册主题功能
xadmin.site.register(views.CommAdminView,GlobalSettings) # 注册全局功能

'''
改变右侧英文为中文:
  在app的apps文件中加入:
    verbose_name = '自定义名字'
  每个app文件__init__:
    default_app_config = 'app.apps.name'
''' 

  1. templates静态页面配置 不用配置views方面,直接匹配静态页面。
 # 在根目录的urls文件中配置templates方法,直接导入首页
 from django.views.generic import TemplateView
 #在urlpatterns中添加首页路由:
 url(
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值