项目的架构为:
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 数据库配置文件