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. linux计划任务(转)

    文章转自https://blog.csdn.net/jixieyang3701/article/details/79410725 linux 系统则是由 cron (crond) 这个系统服务来控制的 ...

  2. 如何优雅地使用Sublime Text3(转)

    转自http://www.jianshu.com/p/3cb5c6f2421c/ Sublime Text:一款具有代码高亮.语法提示.自动完成且反应快速的编辑器软件,不仅具有华丽的界面,还支持插件扩 ...

  3. pstart

    下面是我初步的排查过程: [1] [root@71 ~]# tcpdump host 192.168.0.71|grep "IP 115.*"|more tcpdump: verb ...

  4. 贪心之oj.1797

    1797:金银岛 查看 提交 统计 提问 总时间限制: 3000ms 内存限制: 65536kB 描述 某天KID利用飞行器飞到了一个金银岛上,上面有许多珍贵的金属,KID虽然更喜欢各种宝石的艺术品, ...

  5. Qt+QGIS二次开发:向shp矢量图层中添加新的字段

    添加一个新的字段到shp文件中,并且从Excel里导入数据到该字段.原shp文件里的字段ID应该与Excel里的字段ID一一对应才能正确的导入.下图分别是shp的字段和Excel的字段 将class字 ...

  6. Android学习之基础知识十四 — Android特色开发之基于位置的服务

    一.基于位置的服务简介 LBS:基于位置的服务.随着移动互联网的兴起,这个技术在最近的几年里十分火爆.其实它本身并不是什么时髦的技术,主要的工作原理就是利用无线电通讯网络或GPS等定位方式来确定出移动 ...

  7. Android学习之基础知识十一 —运用手机多媒体

    一.使用通知(Notification) 通知(Notification)是Android系统中比较有特色的一个功能,当某个应用程序希望向用户发出一些提示信息,而该应用程序又不在前台运行时,就可以借助 ...

  8. SkylineGlobe 从v6.1到v6.5 二次开发方面的变化参考

       2.1关于 TerraExplorer v6.5 API 除了一些新的功能,API v6.5不同于API v6.1的最大改进是其对象ID系统.虽然在以前版本的API中,有两个ID系统,一个用于对 ...

  9. ORA-10858:在要求输入数字处找到非数字字符

    今天在写sql语句的时候,运行报错:ORA-10858:在要求输入数字处找到非数字字符 在网上查了一下为什么会有这种错误,有一个建议是可能是写的sql语句中的日期没有处理.仔细看了一下自己写的代码 就 ...

  10. 现有各种SSTC电路图,欢迎补充,研究,开发

    现有各种SSTC电路图,欢迎补充,研究,开发  496464505 2016-3-1 16:01:55 现在的各种SSTC基本都是这些图   2016-3-3 19:28:23 comter2001 ...