(一)Django项目架构介绍
2019-11-23 00:23 那个杰克 阅读(804) 评论(0) 编辑 收藏 举报项目的架构为:
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 数据库配置文件