创建一个规范的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 ...
随机推荐
- mysql explain(转)
explain显示了mysql如何使用索引来处理select和表连接 转自http://blog.csdn.net/zhuxineli/article/details/14455029 explain ...
- Qt+Qgis二次开发:在状态条显示当前鼠标坐标
1 概述 鼠标在地图上移动,需要实时获取当前坐标位置.2 原理 从当前位置获取视口坐标后,实时转换为地图坐标.3 方法 处理鼠标位置,必须获取鼠标的当前坐标.但是Qt的鼠标事件由QgsMapCanv ...
- 《MySQL必知必会》[06] 触发器
1.触发器 MySQL中的触发器概念,和Java中的事件监听器有点相似.当你想要某条语句在某个事件发生时自动执行,就要用到触发器了. 触发器能响应如下三类语句: DELETE INSERT UPDAT ...
- EF Core中DbContext可以被Dispose多次
我们知道,在EF Core中DbContext用完后要记得调用Dispose方法释放资源.但是其实DbContext可以多次调用Dispose方法,虽然只有第一次Dispose会起作用,但是DbCon ...
- 转的一个Java基本功
京京肚肚撸代码 2017-04-11 00:21 很早之前, 记得一次面试, 面试官问存储金钱用什么数据类型? 当时只知道8种数据类型(boolean, byte, short, int, long, ...
- Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"
问题描述 今天写jsp的时候想用JSTL的一些标签,但是引用的时候碰到这个问题. 解决办法 一.看是否引用jstl.jar包,如果没有,则可以下载相应版本的jstr.jar包,并放入WEB-INF的l ...
- Codeforces 718C solution
C. Sasha and Array time limit per test : 5 seconds memory limit per test : 256 megabytes Descrip ...
- 【强化学习】python 实现 saras lambda 例一
本文作者:hhh5460 本文地址:https://www.cnblogs.com/hhh5460/p/10147265.html 将例一用saras lambda算法重新撸了一遍,没有参照任何其他人 ...
- 【持续更新中···】Linux下的小技巧
1.Linux回到上级文件的命令: cd ..回到上一级目录(注意:cd 和..中间有空格) cd ~回到home目录 cd -回到某一目录
- python报错问题解决:'ascii' codec can't encode character
之前部署了openstack虚拟化环境,有一天在使用nova list查看虚拟机的时候,突然报错!如下: [root@linux-node1 src]# nova listERROR (Unicode ...