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项目的更多相关文章

  1. 创建一个简单的Django项目

    1.首先,启动pycharm,点击File->New Project,如下图所示. 2.在New Project对话框中,选择Django,在Location中设置项目路径以及项目名称,在App ...

  2. 规范化创建一个vs2017 Mvc框架项目

    vs2107 + dapper + MiniUi 标准化分层封装使 3.1 规范化创建一个vs2017 Mvc框架项目 此时创建的项目勾选 添加单元测试. 添加一个类库,主要用于实体类操作,类库名称 ...

  3. Django入门第一步:构建一个简单的Django项目

    Django入门第一步:构建一个简单的Django项目 1.简介 Django是一个功能完备的Python Web框架,可用于构建复杂的Web应用程序.在本文中,将通过示例跳入并学习Django.您将 ...

  4. 通过beego快速创建一个Restful风格API项目及API文档自动化

    通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界 ...

  5. 以sb7code为基础创建一个基本的OpenGL项目

      以sb7code为基础创建一个基本的OpenGL项目   从github上面下载sb7code代码: https://github.com/openglsuperbible/sb7code 打开H ...

  6. 通过beego快速创建一个Restful风格API项目及API文档自动化(转)

    通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界 ...

  7. 简单创建一个SpringCloud2021.0.3项目(四)

    目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上三篇教程 3. 日志处理 1. 创建日志公共模块 2. Eureka引入日志模块 4. 到此的功能代码 5. 注册中心换成naco ...

  8. 简单创建一个SpringCloud2021.0.3项目(三)

    目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上俩篇教程 3. Gateway集成sentinel,网关层做熔断降级 1. 超时熔断降级 2. 异常熔断 3. 集成sentine ...

  9. 简单创建一个SpringCloud2021.0.3项目(二)

    目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上一篇教程 3. 创建公共模块Common 4. 网关Gateway 1. 创建Security 2. Security登陆配置 3 ...

随机推荐

  1. mysql explain(转)

    explain显示了mysql如何使用索引来处理select和表连接 转自http://blog.csdn.net/zhuxineli/article/details/14455029 explain ...

  2. Qt+Qgis二次开发:在状态条显示当前鼠标坐标

    1  概述 鼠标在地图上移动,需要实时获取当前坐标位置.2 原理 从当前位置获取视口坐标后,实时转换为地图坐标.3 方法 处理鼠标位置,必须获取鼠标的当前坐标.但是Qt的鼠标事件由QgsMapCanv ...

  3. 《MySQL必知必会》[06] 触发器

    1.触发器 MySQL中的触发器概念,和Java中的事件监听器有点相似.当你想要某条语句在某个事件发生时自动执行,就要用到触发器了. 触发器能响应如下三类语句: DELETE INSERT UPDAT ...

  4. EF Core中DbContext可以被Dispose多次

    我们知道,在EF Core中DbContext用完后要记得调用Dispose方法释放资源.但是其实DbContext可以多次调用Dispose方法,虽然只有第一次Dispose会起作用,但是DbCon ...

  5. 转的一个Java基本功

    京京肚肚撸代码 2017-04-11 00:21 很早之前, 记得一次面试, 面试官问存储金钱用什么数据类型? 当时只知道8种数据类型(boolean, byte, short, int, long, ...

  6. Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"

    问题描述 今天写jsp的时候想用JSTL的一些标签,但是引用的时候碰到这个问题. 解决办法 一.看是否引用jstl.jar包,如果没有,则可以下载相应版本的jstr.jar包,并放入WEB-INF的l ...

  7. Codeforces 718C solution

    C. Sasha and Array   time limit per test :  5 seconds memory limit per test :  256 megabytes Descrip ...

  8. 【强化学习】python 实现 saras lambda 例一

    本文作者:hhh5460 本文地址:https://www.cnblogs.com/hhh5460/p/10147265.html 将例一用saras lambda算法重新撸了一遍,没有参照任何其他人 ...

  9. 【持续更新中···】Linux下的小技巧

    1.Linux回到上级文件的命令: cd ..回到上一级目录(注意:cd 和..中间有空格) cd ~回到home目录 cd -回到某一目录

  10. python报错问题解决:'ascii' codec can't encode character

    之前部署了openstack虚拟化环境,有一天在使用nova list查看虚拟机的时候,突然报错!如下: [root@linux-node1 src]# nova listERROR (Unicode ...