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. sparse 稀疏函数的用法2

    sparse函数 功能:Create sparse matrix-创建稀疏矩阵 用法1:S=sparse(X)——将矩阵X转化为稀疏矩阵的形式,即矩阵X中任何零元素去除,非零元素及其下标(索引)组成矩 ...

  2. java 适配器模式(adapter pattern)

    适配器就是一种适配中间件,它存在于不匹配的二者之间,用于连接二者,将不匹配变得匹配. 场景:电脑读取内存卡中的内容,内存卡是没有办法直接插在电脑的USB接口上,那就不需要一个转换器. 下面的例子实现了 ...

  3. php使用MPDF导出PDF文件自定义字体

    最近公司要生成一个PDF文件,网上找了很多类库,使用mpdf最方便,通过HTML输入调整样式,官方地址:http://www.mpdf1.com/,更改字体这个问题困扰了我很久,网上找的方法都不适用, ...

  4. MongoDB的地理位置查询,以及和mysql的使用对比

    MongoDB的一个特色就是具有丰富的查询接口,比如地理位置查询. 在地理位置查询上,MongoDB有着比传统关系型数据库的优势,下面举个例子. 当前移动互联网应用,按用户离目标门店距离排序上的场景很 ...

  5. 如何看待P2P领域的羊毛党?

    本文来自网易云社区 不利:不利的影响应该是显而易见的,前面的题主也有解释过.总结来说,不利的影响主要是两点: a. 对平台毛利和资金的损害.一般来说,优惠活动本是一个用户只能享用一次,但如果注册多个账 ...

  6. ssh实现办公室电脑连接家中的电脑

    友情提示:如果您不知道您家路由器管理页面的密码,请您忽略此文. 问题背景: 家中有台笔记本电脑,它是通过家中的路由器与外界联网的,这时,我想通过ssh服务让公司的电脑能连上我家中的笔记本. 可以画个图 ...

  7. Centos下MooseFS(MFS)分布式存储共享环境部署记录

    分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连,分布式文件系统的实际基于客户机/服务器模式.目前 ...

  8. websocket(二)——基于node js 的同步聊天应用

      https://github.com/sitegui/nodejs-websocket 1.用node搭建本地服务 npm install nodejs-websocket var ws = re ...

  9. Scrum Meeting NO.6

    Scrum Meeting No.6 1.会议内容 今晚是提交编译测试程序的截至日期,大家果断都在忙着写编译,所以今天的进度不大. 2.任务清单 徐越 序号 近期的任务 进行中 已完成 1 代码重构: ...

  10. Linux内核分析(第八周)

    进程的切换和系统的一般执行过程 一.进程切换的关键代码switch_to分析 1.进程调度与其时机分析 分类: 第一种分类 I/O-bound:频繁的进行I/O:会花很多时间等待I/O操作完成 CPU ...