項目的架構為:
1、虛擬環境virtualenv
安裝Django==2.1.3
安裝pymysql
安裝mysqlclient
安裝其他等
2、項目結構為:
應用APP:
blog -- 管理博客
account -- 管理用戶注冊/登錄/等
后臺數據庫:
mysql
路由分層及命名空間:
根據應用進行分層
from django.urls import path,include
# 使用include方法
urlpatterns = [
path('admin/', admin.site.urls),
path('blog/',include("blog.urls")),
path('account/',include("account.urls")),
]
應用新增urls.py中,需寫命名空間:app_name=xxxx
3、項目配置:
APP應用配置
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog', #配置創建好的blog,APP應用名
'account', #配置創建好的account,APP應用名
]
MySQL配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'read_default_file': os.path.join(BASE_DIR,"db.cnf"),
},
}
}
### db.cnf
[client]
host = 127.0.0.1
port = 3306
database = 't_test_blog'
user = 'root'
password = '123456'
default-character-set = utf8mb4
靜態資源配置
步驟1:根目錄下新建templates目錄
步驟2:setting新增如下代碼:
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR,"static"), #一定要加一個逗號,
)
步驟3:修改TEMPLATES模板配置
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR,"templates"),], #改成templates
'APP_DIRS': False, #改成False
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
郵件發送配置
EMAIL_HOST = 'smtp.163.com'
EMAIL_HOST_USER = "yang_song_lin@163.com"
EMAIL_HOST_PASSWORD = "YANGSongLin1993"
EMAIL_PORT = 25
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = "yang_song_lin@163.com"
其他配置
中文及時區
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
后臺調試用
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
部署用
DEBUG = True
ALLOWED_HOSTS = [] #表示不同訪問地址
4、項目目錄結構
項目工程名
├─account account應用 處理用戶相關
│ ├─migrations
│ └─admin.py
│ └─ apps.py
│ └─ forms.py
│ └─ models.py
│ └─tests.py
│ └─urls.py
│ └─urls.py
│ └─views.py
├─blog blog應用 處理博客顯示
│ ├─migrations
│ └─admin.py
│ └─apps.py
│ └─models.py
│ └─tests.py
│ └─urls.py
│ └─views.py
├─mysite 項目容器
│ └─settings.py 基礎配置項
│ └─urls.py 基礎路由
│ └─wsgi.py 部署相關
├─static 靜態文件夾
│ ├─css CSS資源文件夾
│ ├─image 圖片資源文件夾
│ ├─fonts 字體資源文件夾
│ └─js js資源文件夾
└─templates 總模板
│ ├─account account應用模板
│ ├─admin admin應用模板
│ ├─blogs blogs應用模板
│ ├─registration
│ ├─base.html 基礎模板,用于繼承重寫
│ ├─header.html 頭部模板,用于重寫
│ └─footer.html 頁腳模板,用于重寫
│
├─manage.py 運行文件
└─db.cnf 數據庫配置文件