Django-325版本创建时候需要手动设置的内容

1. 设置数据库

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME':'orm',  #要连接的数据库,连接前需要创建好
        'USER':'root',       #连接数据库的用户名
        'PASSWORD':'',           #连接数据库的密码
        'HOST':'127.0.0.1',  # 连接主机,默认本级
        'PORT':3306     #端口 默认3306
    }
}

2. 设置日志调试

LOGGING= {
    'version':1,
    'disable_existing_loggers':False,
    'handlers': {
        'console':{
            'level':'DEBUG',
            'class':'logging.StreamHandler',
        },
    },
    'loggers': {
        'django.db.backends': {
            'handlers': ['console'],
            'propagate':True,
            'level':'DEBUG',
        },
    }
}

3. 提示no moudle named MySQLdb,

这是因为django默认你导入的驱动是MySQLdb,可是MySQLdb 对于py3有很大问题,所以我们需要的驱动是PyMySQL 所以,我们只需要找到项目名文件下的__init__,在里面写入

import pymysql
pymysql.install_as_MySQLdb()

4. pymysql版本报错

在项目名文件下的__init__,在里面写入

1,3,3 根据报错的版本号填写
pymysql.version_info = (1, 3, 3, "final", 0)


适合Django 2.0的解决办法
通过查找路径C:\Programs\Python\Python36-32\Lib\site-packages\Django-2.0-py3.6.egg\django\db\backends\mysql
这个路径里的文件把注释掉 就OK了。

if version < (1,3,3):
     raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)

5. 数据库迁移命令

python manage.py makemigrations
python manage.py migrate

6. auth模块中如果不用默认的user表,而是要自定义扩展字段的

setting.py中要添加 AUTH_USER_MODEL = "app02.UserInfo" app02是应用名,UserInfo是自定义类名.

7. 如果多个应用解藕,在setting中INSTALLED_APPS写入应用名字

8. 如果有自定义中间件,在setting中MIDDLEWARE写入中间件,

格式为应用名.py文件名.自定义中间件类名

9. 设置时区

10. 解藕前后端文件,也可以再进一步在里面按照应用名进一步解藕

STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR,"my_statics")]

11. 解藕上传文件,也可以再进一步在里面按照应用名进一步解藕,注意这里和static不一样,不是一个列表

MEDIA_ROOT = os.path.join(BASE_DIR,"cnblogs/upload_folder")

12. Django sendmail配置

# 发送stmp协议的邮件配置
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
# 服务器名称
EMAIL_HOST = 'smtp.sina.com'
# 服务端口
EMAIL_PORT = 25
# 发送的邮箱账号
EMAIL_HOST_USER = 'test@sina.com'
# 在邮箱中设置的客户端授权密码
EMAIL_HOST_PASSWORD = 'cf**********5'
# 收件人看到的发件人,不过尝试一下没用,不知道是不是理解有误,也有设置成 EMAIL_FROM = EMAIL_HOST_USER
EMAIL_FROM = 'test@sina.com>'

13. LOGIN_URL = "/cnblog/login/"

这个是针对login_required这个装饰器用的,一旦登陆认证失败,会跳转到你指定的 LOGIN_URL,带上?next参数

14. 开通media访问路由

主要用来对外网开放访问权限的,比如渲染上传图片的SRC,用来和进行内部和外部的解藕,如果不配置这条路由,外网无法访问项目内部文件
也是和STATIC_URL一样创建一个别名,再配置一条根路径

MEDIA_URL = "/media/"
# 这么配置好后avatar上传的路径就变为了cnblogs/upload_folder/avatar
# todo 遗留问题,如何media按照用户的id或者用户名作为根目录
MEDIA_ROOT = os.path.join(BASE_DIR, "cnblogs/upload_folder/")

15. X-FRAM中间使用,针对HTML中插入了I-frame标签的内容,设置后允许I-frame的内容在同域环境中展示渲染.

X_FRAME_OPTIONS = 'SAMEORIGIN'

16. django常用模块汇总

from django.conf import settings  # Django配置文件,自己django项目有配置就用自己的,没有就用系统默认配置。
from django import forms  # form组件  class MyForm(forms.Form)
from django.forms import widgets # widget=widgets.PasswordInput(attrs={'class': 'form-control'})
from django.shortcuts import render, HttpResponse, redirect,reverse # 后端反向解析
from django.http import JsonResponse  # 直接返回给html页面一个字典对象
from django.contrib import auth  # auth组件,用户登录功能校验
from django.contrib.auth.decorators import login_required  # 登录认证装饰器
from django.db.models import Count,Max,Min,Avg,F,Q  # 聚合与分组连用   F与Q查询
from django.db.models.functions import TruncMonth  
from django.utils.safestring import mark_safe  # 后端安全校验
from django.db import transaction  # django 事务
from django.contrib.auth.models import AbstractUser  # 告诉django自定义用户表类  class UserInfo(AbstractUser):
from django.views.static import serve   # 暴露后端媒体文件夹资源
# url(r'^media/(?P<path>.*)',serve,{'document_root':settings.MEDIA_ROOT}),

from django.conf.urls import url  # 在分路由需导入使用
from django.contrib import admin  # 在admin.py文件中做用户表注册

from django import template   # 自定义标签使用
# register = template.Library()  @register.inclusion_tag('left_menu.html')  自定义标签使用
from django.views import View  # CBV 视图类继承View,走View内部的as_views()方法

17 .设置中文管理后台

好像直接设置LANGUAGE_CODE = 'zh-Hans'就可以,如果不行参考下面步骤
在setting.py头部导入from django.utils.translation import gettext_lazy as _
然后在LANGUAGE_CODE = 'zh-Hans' 上方添加:

LANGUAGES = [
    ('zh-Hans', _('Chinese')),
]
posted @ 2021-10-11 10:30  零哭谷  阅读(51)  评论(0编辑  收藏  举报