1.初始化專案結構
└─shiyanlou_project # 專案根路徑
│ .gitignore # 提交git倉庫時,不提交的檔案必須要在這裡進行標註
│ README.en.md # 英文(專案介紹)
│ README.md # 中文專案簡介
│ requirements.txt # django專案安裝檔案
│
├─celery_task # 用來存放celery相關檔案(以便分散式部署)
│ __init__.py
│
├─db # 資料庫相關:1.資料庫初始化sql指令碼; 2.資料庫維護指令碼,清理,備份指令碼
├─scrips # 指令碼目錄:1.定時任務指令碼;2.頁面靜態化指令碼;處理專案指令碼
├─logs # 存放日誌
├─packages # 外部包,原始的,未配置的:1.七牛雲sdk;2.阿里雲簡訊;
└─uwsgi_conf # uwsgi配置,日誌,pid
│
│
└─syl # 真正的django專案(程式碼)django-admin startproject
專案名
│ apps (python包) # Django各種app模組
│ libs (python包) # 七牛雲sdk+配置(外部下載)
│ utils (python包) # 小工具,常用函式(自己寫的)
│ static
│ templates
│ syl(專案配置)
│ manager.py
2.建立Django專案
root@dev:shiyanlou_project# workon syl
(syl) root@dev:shiyanlou_project# cd /aaa/shiyanlou_project/
(syl) root@dev:shiyanlou_project# django-admin startproject syl
# 注:建立三個python包, apps、utils、libs
使用pycharm開啟專案
1.右上---->編輯配置----->
2.檔案---->設定----->
3.檔案---->設定----->
3.建立user模型
3.1 建立使用者模型user
python ../manage.py startapp user
3.2 在setting.py中註冊user模型(第一步)
INSTALLED_APPS = [
'user.apps.UserConfig',
]
3.3 syl/urls.py新增主路由(第二步)
urlpatterns = [
path('user/', include('user.urls')),
]
3.5 syl/settings.py中新增apps路徑
sys.path.insert( 0 ,os.path.join(BASE_DIR,'apps'))
3.4 建立 user/urls.py子路由檔案(第三步)
from django.urls import path
urlpatterns = [
]
]
4.重寫Django預設認證使用者模型
4.1 user/models.py建立模型:從寫django user表
from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
phone = models.CharField('手機號',max_length= 20 )
img = models.ImageField(upload_to='user',null=True)
nick_name = models.CharField('暱稱',max_length= 20 )
address = models.CharField('地址',max_length= 255 )
class Meta:
db_table = 'tb_user'
4.2 syl/settings.py中註冊自己的使用者模型類
AUTH_USER_MODEL = 'user.User'
4.3 配置mysql
'''1.建立mysql資料庫'''
mysql> create database syldb charset utf8;
'''2.在syl/settings.py中配置mysql'''
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'syldb',
'USER': 'root',
'PASSWORD': '1',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
4.4生成表
python manager.py makemigrations
python manager.py migrate