mysql django构架图_(一)Django项目架构介绍

项目的架构为:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/531700.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

poj1330Nearest Common Ancestors 1470 Closest Common Ancestors(LCA算法)

LCA思想:http://www.cnblogs.com/hujunzheng/p/3945885.html 在求解最近公共祖先为问题上,用到的是Tarjan的思想,从根结点开始形成一棵深搜树,非常好的处理技巧就是在回溯到结点u的时候,u的子树已经遍历,这…

LCA算法的理解

LCA思想:在求解最近公共祖先为问题上,用到的是Tarjan的思想,从根结点开始形成一棵深搜树,非常好的处理技巧就是在回溯到结点u的时候,u的子树已经遍历,这时候才把u结点放入合并集合中, 这样u结点…

java连加密的mysql_Java 实现加密数据库连接

一、前言在很多项目中,数据库相关的配置文件内容都是以明文的形式展示的,这存在一定的安全隐患。在开发和维护项目时,不仅要关注项目的性能,同时也要注重其安全性。二、实现思路我们都知道项目启动时,Spring 容器会加载…

codeforces Gargari and Bishops(很好的暴力)

1 /*2 题意:给你一个n*n的格子,每一个格子都有一个数值!将两只bishops放在某一个格子上,3 每一个bishop可以攻击对角线上的格子(主对角线和者斜对角线),然后会获得格子上的4 数值&a…

java词汇速查手册_java 词汇表速查手册

Abstract class 抽象类:抽象类是不允许实例化的类,因此一般它需要被进行扩展继承。Abstract method 抽象方法:抽象方法即不包含任何功能代码的方法。Access modifier 访问控制修饰符:访问控制修饰符用来修饰Java中类、以及类的方法和变量的访问控制属性。Anonymous …

codeforces Gargari and Permutations(DAG+BFS)

1 /*2 题意:求出多个全排列的lcs!3 思路:因为是全排列,所以每一行的每一个数字都不会重复,所以如果有每一个全排列的数字 i 都在数字 j的前面,那么i, j建立一条有向边!4 …

hdu4292Food(最大流Dinic算法)

/*    题意:每一个人都有喜欢的吃的和喝的,每一个人只选择一个数量的吃的和一个数量的喝的,问能满足最多的人数!?    思路:建图很是重要!f-food, p-people, d-drink    建图&#x…

python3.5 连接mysql_python3.5 連接mysql本地數據庫

前期准備工作:安裝python的模塊,網上大部分讓安裝mysqldb模塊,但是會報錯,原因是python3.5不被其支持:請看該鏈接 我們也可以這樣解決:直接執行:sudo pip3 install pymysql;在python3中輸入impo…

java异常顺序_网易新闻

public class SmallT {public static void main(String args[]) {SmallT t new SmallT();int b t.get();System.out.println(b);}public int get() {try {return 1;} finally {return 2;}}}返回的结果是2。我可以通过下面一个例子程序来帮助我解释这个答案,从下面…

java中自动装箱的问题

package wrapper;public class WrapperDemo {public static void main(String[] args) {Integer anew Integer(5);Integer bnew Integer(5);System.out.println(ab);System.out.println(a.equals(b));/*falsetrue*/Integer c127;//属于自动装箱Integer d127;//jdk1.5以后&#…

下载国外网站资料需java_Java开发必知道的国外10大网站

1、https://www.google.com/不解释2、https://stackoverflow.com里面包含各种开发遇到的问题及答案,质量比较高。3、https://github.com/免费的开源代码托管网站,包括了许多开源的项目及示例项目等。4、https://dzone.com/提供技术新闻、编程教程、及各种…

poj 1950 Dessert(dfs枚举,模拟运算过程)

/*   这个代码运行的时间长主要是因为每次枚举之后都要重新计算一下和的值!    如果要快的话,应该在dfs,也就是枚举的过程中计算出前边的数值(这种方法见第二个代码),直到最后,这样不必每…

poj1949Chores(建图或者dp)

1 /*2 题意:n个任务,有某些任务要在一些任务之前完成才能开始做!3 第k个任务的约束只能是1...k-1个任务!问最终需要最少的时间完成全部的 4 任务&#xff0…

java 空数组如何判断,java判断数组是否为空

java判断数组是否为空根据数组长度判断,如果为0,则为空,反之不是。 (推荐学习:java课程)public class Main {public static void main(String[] args) {int[] array1 new int[]{}; //被当成 {0}if (array1 null) {System.out.pr…

2014牡丹江网络赛ZOJPretty Poem(暴力枚举)

/*   将给定的一个字符串分解成ABABA 或者 ABABCAB的形式&#xff01; 思路&#xff1a;暴力枚举A, B, C串&#xff01; */ 1 #include<iostream>2 #include<cstring>3 #include<cstdio>4 #include<string>5 6 using namespace std;7 str…

php switch goto,PHP goto语句用法实例

问题当 PHP 在执行代码过程&#xff0c;在某一时刻我们希望它能跳转到某一特定位置继续执行代码&#xff0c;该怎么做呢&#xff1f;回答在 PHP 中&#xff0c;我们可以使用 goto 操作符来使 PHP 代码执行器跳转到程序中某一特定位置。goto 的使用有一定限制&#xff0c;如&…

php curl cookie,php中curl获取返回页面的cookie

php的curl可以模仿用户浏览网页并且获取网页的cookie,获取cookie还有专用的参数如CURLOPT_COOKIEJAR 用于保存 cookie 到文件了,下面一起来看几个例子吧.curl可以获取返回页面设置的cookie,原理跟get_headers是一样的,在返回的头信息中将"Set-Cookie:"的内容取出来即…

php访问网页post获取源码,第一次抓别人网站数据,用postman直接请求可以获取到返回数据,通过代码的方式就一直报错,php...

最近需要抓取下KFC的一些数据通过postman把请求地址和参数都拿过来后可以返回数据我就天真的以为可以通过代码直接发送一个post请求即可但是通过php的curl模拟请求后&#xff0c;返回的一直是服务器异常刚开始时好像成功过&#xff0c;但现在一直都是报这个&#xff0c;我用的就…

c++中关于初始化型参列表的一些问题

1 /*2 1.成员是按照他们在类中出现的顺序进行初始化的&#xff0c;而不是按照他们在初始化列表出现的顺序初始化的!3 一个好的习惯是&#xff0c;按照成员定义的顺序进行初始化。4 2.数组成员在初始化型参列表中不正确 5 */6 #include<iostream>7 #include<cstdio&…

话术php源码,恋爱话术宝典织梦源码

恋爱话术宝典网页版&#xff1a;http://vi.520menghuan.cn恋爱话术宝典app下载&#xff1a;https://www.lanzous.com/i2dmywd恋爱话术宝典app&#xff0c;里面有超过4万条可复制聊天的恋爱聊天话术&#xff0c;这是一款经典的“智能代聊 APP”。花式套路小哥哥、小姐姐&#xf…