创建一个规范的django项目
1. 创建项目
2. 创建static目录及配置
1.创建放css, javascript,img的目录
2.在settings.py中将static绝对路径保存到变量STATICFILES_DIRS中。
3. 创建app及配置
3.1 我们希望尽量将各个模块分开,来给程序解耦,降低开发、维护和版本迭代的难度。所以创建多个APP
3.2 但是对于复杂的工程来说,每一个app会有很多表单、功能和url,所以我们将原本在app下的views文件删除,添加上forms和views两个目录,来存放不同的form和view文件
4. 连接mysql数据库
5. 遇到的问题
5.1 RemovedInDjango110Warning
1. 创建项目:
python django-admin.py startproject mysite
2. 创建static目录及配置
1. mkdir -p static/css static/js static/img
2.在mysite/mysite/settings.py最后加 STATICFILES_DIRS=(os.path.join(BASE_DIR, 'static'),)
3. 创建app及配置
3.1.1 创建两个模块,一个是用户模块,一个是资源模块。
./manage.py startapp hostManage
./manage.py startapp userManage
3.1.2 将模块添加到settings.py中
在INSTALLED_APPS中添加

3.2.1
1)rm -f userManage/views.py hostManage/views.py
2)mkdir hostManage/forms hostManage/views userManage/forms userManage/views
3)在app中创建urls文件,然后在原始urls文件中配置映射,来进行url的解耦
1.在主urls.py(mysite/urls.py)添加21、22行(格式各个版本有所不同,注意参考注释部分给的例子)

2.touch hostManage/urls.py userManage/urls.py
urls.py内容如下图:( 同样要参考主目录下的urls.py注释的部分)。

3.具体视图的内容(这里只简单的打印一行字)
touch hostManage/views/view1.py hostManage/views/__init__.py
touch userManage/views/view1.py userManage/views/__init__.py
view1.py内容如下图:

效果:
./manage.py runserver

4. 数据库操作
1)数据库准备
1.1 登陆: mysql -u root -p
1.2 新建Django数据库: CREATEDATABASE Django;
1.3 添加用户: CREATE USER 'agu'@'localhost' indentified by 'agu';
1.4 给用户agu操作数据库Django的权限: GRANT ALL ON Django.* to 'agu'@'localhost';
1.5 退出: exit;
2)修改settings.py中的DATABASES

3)同步到数据库
python manage.py makemigrations
python manage.py migrate
#注(Django1.71版本以下用: django python manage.py syncdb)
5
5.1 RemovedInDjango110Warning
解决方法:修改urls.py:
在django1.9里,urls的配置不再支持字符串型的路由。需要先import,然后直接引用。更加清晰。
比如:
urlpatterns = patterns('',
url(r'^test/', 'httpServer.views.hello.test'), # 注意,字符串形式
)
改为:
from httpServer.views import hello
# urlpatterns改为list了
urlpatterns = [
url(r'^test/', hello.test), # 直接引用
]
附注:可以用1.9的版本,新生成一个项目,看urls文件。
创建一个规范的django项目的更多相关文章
- 创建一个简单的Django项目
1.首先,启动pycharm,点击File->New Project,如下图所示. 2.在New Project对话框中,选择Django,在Location中设置项目路径以及项目名称,在App ...
- 规范化创建一个vs2017 Mvc框架项目
vs2107 + dapper + MiniUi 标准化分层封装使 3.1 规范化创建一个vs2017 Mvc框架项目 此时创建的项目勾选 添加单元测试. 添加一个类库,主要用于实体类操作,类库名称 ...
- Django入门第一步:构建一个简单的Django项目
Django入门第一步:构建一个简单的Django项目 1.简介 Django是一个功能完备的Python Web框架,可用于构建复杂的Web应用程序.在本文中,将通过示例跳入并学习Django.您将 ...
- 通过beego快速创建一个Restful风格API项目及API文档自动化
通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界 ...
- 以sb7code为基础创建一个基本的OpenGL项目
以sb7code为基础创建一个基本的OpenGL项目 从github上面下载sb7code代码: https://github.com/openglsuperbible/sb7code 打开H ...
- 通过beego快速创建一个Restful风格API项目及API文档自动化(转)
通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界 ...
- 简单创建一个SpringCloud2021.0.3项目(四)
目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上三篇教程 3. 日志处理 1. 创建日志公共模块 2. Eureka引入日志模块 4. 到此的功能代码 5. 注册中心换成naco ...
- 简单创建一个SpringCloud2021.0.3项目(三)
目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上俩篇教程 3. Gateway集成sentinel,网关层做熔断降级 1. 超时熔断降级 2. 异常熔断 3. 集成sentine ...
- 简单创建一个SpringCloud2021.0.3项目(二)
目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上一篇教程 3. 创建公共模块Common 4. 网关Gateway 1. 创建Security 2. Security登陆配置 3 ...
随机推荐
- PAT A1018 Public Bike Management (30 分)——最小路径,溯源,二标尺,DFS
There is a public bike service in Hangzhou City which provides great convenience to the tourists fro ...
- C++反转单链表
单链表 /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } }; ...
- ubuntu 解决TXT文本的乱码的问题。
windows 系统上编辑的 txt 文本,在ubuntu上出现 乱码,我是这样解决的 1.terminal上输入以下命令: gsettings set org.gnome.gedit.prefere ...
- Luogu P3372 【模板】线段树 1
qwq #include<cstdio> using namespace std; ; int n,m,x,y,flag; *maxn],r[*maxn]; *maxn],sum[*max ...
- 3分钟学会做智能插座(DIY)
转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 感谢博达科技提供的技术支持,博达科技新出了turnip智能插座,通过微信控制,实现了语音控制 ...
- 3.3《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——less即more
Unix提供了两个工具查看不止文件的头部和尾部.这个功能程序叫做more,但有种更强大的变异体叫做less(起初我认为这是玩笑).less这个程序是交互性地,所以很难在输出时捕获,但是仍然为大家提供了 ...
- React-使用combineReducers完成对数据对拆分管理
数据都放在reducer.js下不利于对数据进行管理,可以把一个大的reducer.js拆分成多个小的reducer.js. 小的reducer.js const defaultState={ foc ...
- LiveCharts文档-3开始-6轴Axes
原文:LiveCharts文档-3开始-6轴Axes LiveCharts文档-3开始-6轴Axes 通常来说,你可以自定义LiveChart里的任何东西,Axes也不例外.下面这幅图展示了Axes. ...
- 分布式系统session一致性的问题
session的概念 什么是session? 服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文.这样,当用户在应用程序的 Web 页之间跳转时,存储在 Sessio ...
- item 7:当创建对象的时候,区分()和{}的使用
本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 博客已经迁移到这里啦 从不同的角度来看,在C++11中,对象初始化拥有多种语法选择,这体 ...