settings.py 基本配置- 注冊應用:settings.py 中 INSTALLED_APPS 中添加已生成的應用名
- 模板目錄:建立一個模板目錄 templates
- settings.py 中 TEMPLATES 中的 'DIRS' 項設為 [os.path.join(BASE_DIR, 'templates')]
- 本地化:settings.py 中 LANGUAGE_CODE = 'zh-hans' , TIME_ZONE = 'Asia/Shanghai'
- 退出調試模式:settings.py 中 DEBUG = False:在網頁中不顯示錯誤調試信息,例如顯示一個標準的 404 頁面
- 若設置 DEBUG = False,則必須設置 ALLOWED_HOSTS = ['*']
- 配置數(shù)據庫:settings.py 中 DATABASES 中的 'ENGINE' 項中把 sqlite3 替換為自己的數(shù)據庫,如 mysql
- 'NAME' 項內容替換為數(shù)據庫名
- 另外設置 'USER', 'PASSWORD', 'HOST', PORT'
- 若數(shù)據庫在虛擬機,'HOST' 不要寫主機名,地址解析會讓訪問很慢
- 配置靜態(tài)文件目錄:新建 static 目錄,settings.py 中添加 STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
其他配置創(chuàng)建管理員:python manage.py createsuperuser 后臺管理注冊模型類:admin.py,from 應用.models import 模型類 admin.site.register(模型類) 整理應用目錄:新建一個名為 apps 包,把應用都放進去,使項目結構更清晰 - 簡化應用路徑:settings.py 中
import sys , sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
配置 URL:在應用的 path() 中加上 namespace='應用名' 的參數(shù),用于反向解析 URL
配置 MySQLpip install pymysql mysqlclient
mysqlclient 與高版本 Python 不完全兼容,項目可能會報錯,把 raise 錯誤的語句注釋掉即可 在項目的 __init.py__ 中 import pymysql pymysql.install_as_MySQLdb() settings.py > DATABASES 配置數(shù)據庫信息 # settings.pyDATABASES = { 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 'ENGINE': 'django.db.backends.mysql', # 使用mysql數(shù)據庫 'NAME': 'py_db', # 數(shù)據庫名 'USER': 'root', # 數(shù)據庫用戶 'PASSWORD': '1', # 密碼 'HOST': 'localhost', # 數(shù)據庫IP 'PORT': 3306, # mysql默認端口3306 }}
配置模型類基類新建名為 db 的包,新建 base_model.py from django.db import modelsclass BaseModel(models.Model): create_time = models.DateTimeField(auto_now_add=True, verbose_name='創(chuàng)建時間') update_time = models.DateTimeField(auto_now=True, verbose_name='更新時間') is_delete = models.BooleanField(default=False, verbose_name='刪除標記') class Meta: abstract = True
創(chuàng)建自定義用戶類自定義用戶模型: from django.contrib.auth.models import AbstractUserclass User(AbstractUser, BaseModel): pass
setting.py 中注冊:setting.py 中添加 AUTH_USER_MODEL='user.User',并且一定要在項目首次進行遷移之前設置此項 - 添加此項后,數(shù)據庫將不再有名為 auth_user 的表
- createsuperuser 命令將會保存到 AUTH_USER_MODEL 指定的表中去
在 admin.py 中注冊 from django.contrib import adminfrom django.contrib.auth.admin import UserAdminfrom apps.user.models import Useradmin.site.register(User, UserAdmin)
富文本編輯器 tinymce在需要用到 HTMLField 的模型類中導入 from tinymce.models import HTMLField URLconf 中添加 path('tinymce/', include('tinymce.urls')) 在settings.py中,應用注冊 'tinymce' 項,添加 tinymce 設置項
TINEMCE_DEFAULT_CONFIG = { 'theme': 'advanced', 'width': 600, 'height': 400,} 來源:https://www./content-4-728951.html
|