项目的架构为:

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 数据库配置文件

(一)Django项目架构介绍的更多相关文章

  1. Django项目结构介绍

    官网下载网址:https://www.djangoproject.com/download/ 安装(安装最新LTS版): pip3 install django==2.0.7 创建一个django项目 ...

  2. Django项目目录介绍

    一个小问题: 什么是根目录:就是没有路径,只有域名..url(r'^$') 补充一张关于wsgiref模块的图片 一.MTV模型 Django的MTV分别代表: Model(模型):和数据库相关的,负 ...

  3. Linux 首先基本包安装(vim啊什么的),源,源优化,项目架构介绍, (LNMuWsgi)Django项目相关软件mysql,redies,python(相关模块)安装配置测试

    内容 补充: 查看已启动服务的端口 netstat -tulnp |grep (方式1) ss -tulnp|grep (方式2) 前期铺垫: . Linux要能上网 . 掌握Linux软件包安装方法 ...

  4. 网站开发学习Python实现-Django项目部署-介绍(6.2.1)

    @ 目录 1.第一步:找源码 2.第二步:在windows中更改代码 2.第三步:同步到linux中 3.第三步:部署 4.第四步:运行 关于作者 1.第一步:找源码 从github上找一个djang ...

  5. Django-下载安装-配置-创建django项目-三板斧简单使用

    目录 Django 简介 使用 django 的注意事项 计算机名不能有中文 Django版本问题 django下载安装 在命令行下载安装 在pycharm图形界面下载安装 检验是否安装成功 创建Dj ...

  6. Django项目的创建与介绍.应用的创建与介绍.启动项目.pycharm创建启动项目.生命周期.三件套.静态文件.请求及数据.配置Mysql完成数据迁移.单表ORM记录的增删改查

    一.Django项目的创建与介绍 ''' 安装Django #在cmd中输入pip3 #出现这个错误Fatal error in launcher: Unable to create process ...

  7. 第三百零三节,Django框架介绍——用pycharm创建Django项目

    Django框架介绍 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内 ...

  8. 一 Django框架介绍——用pycharm创建Django项目

    Django框架介绍 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内 ...

  9. Django (九) 项目开发流程&项目架构

    项目开发流程&项目架构 1. 软件开发的一般流程 1. 需求分析及确认: 由需求分析工程师与客户确认甚至挖掘需求.输出需求说明文档. ​ 2. 概要设计及详细设计: 开发对需求进行概要设计,包 ...

随机推荐

  1. E. Remainder Problem 分块

    两个操作 1对x位置的a[x]+y 2对所有i=y(mod x)求a[i]的和 我们肯定不能n^2 跑,稳超时,但是我们可以这样分块考虑. 为什么n^2不行?因为在x比较小的时候,这个求和操作次数太多 ...

  2. @COCI 2016/2017 Round 3@ Meksikanac

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 在平面直角坐标系中,给定一个左下角为 (0, 0),右上角为 ( ...

  3. win10提示 磁盘包含不是“PARTITION_BASIC_DATA_GUID"类型的分区

    在win10创建新的磁盘分区的时候,有时候会提示 磁盘包含不是"PARTITION_BASIC_DATA_GUID"类型的分区 如果你试了其他方法都不凑效,那么看看你已经有几个盘( ...

  4. 2019-6-23-修复-dotnet-Core-缺SDK编译失败

    title author date CreateTime categories 修复 dotnet Core 缺SDK编译失败 lindexi 2019-6-23 10:55:9 +0800 2019 ...

  5. POJ 1321 深搜dfs

    思路其实挺简单的,为什么我想不到呢!!! 原因分析:(1)题目还是做少了 (2)做题目的时候在放音乐 (3)最近脑袋都不愿意想思路总是想一些无用的 改进:(1)以后做题目坚决不开音乐,QQ直接挂隐身 ...

  6. Vue的Router路由传参

    一.文件结构 二.vue.js 打开此链接 https://cdn.bootcss.com/vue/2.6.10/vue.js 复制粘贴页面的所有内容 三.vue-router.js 打开此链接  h ...

  7. Python--day46--MySQL视图

    1,创建一个视图(给临时表起一个别名v1),视图也虚拟出来的,并非真正的物理表,不能直接往里面插数据.它的数据是动态的读出来的. create view v1 as select * from use ...

  8. 2018-11-2-win10-uwp-通过-win2d-画出笔迹

    title author date CreateTime categories win10 uwp 通过 win2d 画出笔迹 lindexi 2018-11-2 20:11:0 +0800 2018 ...

  9. asp dotnet core 通过图片统计 csdn 用户访问

    在 csdn 的访问统计里面,只能用 csdn 提供的访问统计,因为在 csdn 中不支持在博客加上 js 代码,也就是无法使用友盟等工具统计. 通过在 asp dotnet core 创建一个图片链 ...

  10. 【20.51%】【codeforces 610D】Vika and Segments

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...