Django:

Ⅰ.定义与特点:

Django(发音:[`dʒæŋɡəʊ]) 是用python语言写的开源web开发框架(open source web framework),它鼓励快速开发,并遵循MVC设计。

特点

  1. 重量级框架
    这个重量级的形容,是相对于Flask框架来说的;正如我们所了解的,Flask框架中,其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2。但是,我们的Django 却集成了许多的功能组建:
    项目工程管理的自动化脚本,数据库ORM,模板,表单,Admin站点,文件管理,认证权限,session机制,缓存等等。

  2. 开发模式采用的是MVT模式:

    M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
    V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
    T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。

缺点:
由于集成太多的功能组件,各组成部分之间的关联耦合度过高,不易于个性化设置。


Ⅱ.工程项目搭建:

1. 环境安装:
这里我要说的是,我是在虚拟环境下进行操作的,所以在使用之前,是先创建了一个虚拟环境:(需要联网)-- 不在虚拟环境下操作的可以跳过这一步

mkvirtualenv  虚拟环境名称
mkvirtualenv  虚拟环境名称  -p python3

我现在用的是Python3, 所以用的是下面的一个创建方式;
比如:

mkvirtualenv django_py3

2.虚拟环境安装后,我们需要安装Django:

pip install diang0==1.11

虽然现在2.0以上的版本已经出来了,而且和1.0版本相比,改动比较大,而且目前大部分人用的还是1.0的,所以在这里就说关于1.0版本的,安装的时候,需要在==后面写上版本号,只要大版本号(1),没什么问题,后面的小版本号,不管是1.11,还是1.12什么的,相差不会太大,都是可以的。


Ⅲ.创建Django项目

1.先进行工程的创建:

django-admin startproject  工程名

比如:

django-admin startproject demo01

然后我们看一下创建之后的情况:

执行后,会多出一个新目录名为demo01,此即为新创建的工程目录.
通过tree命令,可以查看工程建立后,demo01文件夹里面有哪些变化。

与项目同名的目录,此处为demo01。
settings.py 是项目的整体配置文件。
urls.py 是项目的URL配置文件。
wsgi.py 是项目与WSGI兼容的Web服务器入口。
manage.py 是项目管理文件,通过它管理项目。

2. 运行开发服务器:
在开发阶段,为了能够快速预览到开发的效果,django提供了一个纯python编写的轻量级web服务器,仅在开发阶段使用。

python manage.py runserver ip: 端口

端口和ip可以指定,不指定的话,默认会使用ip:127.0.0.1, 端口默认是8000;

3.创建子应用,命令如下:

python manage.py startapp 子应用名称


Ⅳ.创建视图,定义路由

1.注册应用:
我们需要在demo01下面的setting.py的INSTALL_APPS列表中,将刚才创建的子应用注册到django项目中。

注册安装一个子应用的方法,即是将子应用的配置信息文件apps.py中的Config类添加到INSTALLED_APPS列表中。

比如:
下图中:将刚创建的users子应用添加到工程中,可在INSTALLED_APPS列表中添加’users.apps.UsersConfig’。

2. 视图建立:
视图的建立,是在子应用users的views.py下进行

from django.http import HttpResponsedef index(request):"""index视图:param request: 包含了请求信息的请求对象:return: 响应对象"""return HttpResponse("hello the world!")

说明:

①视图函数的第一个传入参数必须定义,用于接收Django构造的包含了请求数据的HttpReqeust对象,通常名为request。

②视图函数的返回值必须为一个响应对象,不能像Flask一样直接返回一个字符串,可以将要返回的字符串数据放到一个HTTPResponse对象中。

3. 定义路由url:
① 在子应用中新建一个urls.py文件用于保存该应用的路由。

② 在users/urls.py文件中定义路由信息。

from django.conf.urls import url
from . import views# urlpatterns是被django自动识别的路由列表变量
urlpatterns = [# 每个路由信息都需要使用url函数来构造# url(路径, 视图)url(r'^index/$', views.index),
]

4.在工程总路由demo/urls.py中添加子应用的路由数据。

from django.conf.urls import url, include
from django.contrib import adminurlpatterns = [url(r'^admin/', admin.site.urls),  # django默认包含的# 添加url(r'^users/', include('users.urls')),
]

①使用include来将子应用users里的全部路由包含进工程路由中;

②r’^users/’ 决定了users子应用的所有路由都已/users/开头,如我们刚定义的视图index,其最终的完整访问路径为/users/index/。

include函数除了可以传递字符串之外,也可以直接传递应用的urls模块,如:

from django.conf.urls import url, include
from django.contrib import admin
import users.urls  # 先导入应用的urls模块urlpatterns = [url(r'^admin/', admin.site.urls),# url(r'^users/', include('users.urls')),url(r'^users/', include(users.urls)),  # 添加应用的路由
]

注意:

**项目的根路由是负责管理应用的url, 每个应用的url,由url应用自己管理。

4. 这个时候,我们可以通过终端运行了:

python manage.py runserver

Ⅴ.配置:

配置文件是在 setting.py中的,目前可以说一下下面几个配置的作用:
1.BASE_DIR

BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(file)))

当前工程的根目录,Django会依此来定位工程内的相关文件,我们也可以使用该参数来构造文件路径。

2. DEBUG

调试模式,创建工程后初始值为True,即默认工作在调试模式下。

作用:

①修改代码文件,程序自动重启

②Django程序出现异常时,向前端显示详细的错误追踪信息。

注意:部署线上运行的Django不要运行在调式模式下,记得修改DEBUG=False。

3.默认语言和时区设置:

LANGUAGE_CODE = ‘zh-hans’ # 语言
TIME_ZONE = ‘Asia/Shanghai’ # 时区


Ⅵ.静态文件:

项目中的CSS、图片、js都是静态文件。一般会将静态文件放到一个单独的目录中,以方便管理。在html页面中调用时,也需要指定静态文件的路径,Django中提供了一种解析的方式配置静态文件路径。静态文件可以放在项目根目录下,也可以放在应用的目录下,由于有些静态文件在项目中是通用的,所以推荐放在项目的根目录下,方便管理。

为了提供静态文件,需要配置两个参数:

STATICFILES_DIRS 存放查找静态文件的目录
STATIC_URL 访问静态文件的URL前缀

示例

1) 在项目根目录下创建static_files目录来保存静态文件。

2) 在demo/settings.py中修改静态文件的两个参数为

STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static_files'),
]

3)此时在static_files添加的任何静态文件都可以使用网址 /static/文件在static_files中的路径 来访问了。

例如,我们向static_files目录中添加一个index.html文件,在浏览器中就可以使用127.0.0.1:8000/static/index.html来访问。

或者我们在static_files目录中添加了一个子目录和文件goods/detail.html,在浏览器中就可以使用127.0.0.1:8000/static/goods/detail.html来访问。

注意!
Django 仅在调试模式下(DEBUG=True)能对外提供静态文件。

当DEBUG=False工作在生产模式时,Django不再对外提供静态文件,需要是用collectstatic命令来收集静态文件并交由其他静态文件服务器来提供。

Django框架--一--安装,工程创建,应用创建,配置,基础操作介绍相关推荐

  1. Django框架(入门超细笔记 创建项目步骤 )

            在安装Django之前,我们首先需要安装Python开发的虚拟环境 virtualenv. 一.学习django我们要先下载虚拟环境 1.在cmd中输入命令:pip install v ...

  2. python安装scrapy框架命令_python爬虫中scrapy框架是否安装成功及简单创建

    判断框架是否安装成功,在新建的爬虫文件夹下打开盘符中框输入cmd,在命令中输入scrapy,若显示如下图所示,则说明成功安装爬虫框架: 查看当前版本:在刚刚打开的命令框内输入scrapy versio ...

  3. Python Django框架的安装及基本用法

    Django框架   WEB 与 服务器     WEB:表示用户可以浏览的网页内容(HTML.CSS,JS)     服务器:       能够给用户提供服务的机器       硬件 与 软件   ...

  4. APP自动化测试框架搭建(六)--uiautomator2、web-editor基础操作

    第一章 APP自动化环境搭建(Mac版) 第二章 APP自动化环境搭建(Windows版) 第三章 adb命令 第四章 元素定位.元素操作 第五章 APP自动化测试框架搭建 Python+Appium ...

  5. 【Python/Web】Django(一)Django框架的配置和使用

    序章 Python下面有许多受欢迎的web框架,例如Flask.Twisted等,Django也不例外.许多成功的网站都是基于Django,Django作为一个开源的Web应用框架,采用了 MVT 的 ...

  6. Django框架与html页面之间如何实现数据的交互,专属菜鸟的教程

    需求 1.前端提交一个表单 2.后端获取表单的内容,然后携带参数去调整转了另一个页面 解决方案 第一部分.创建Django项目 python之Django框架的安装与项目的启动 第二部分.创建app模 ...

  7. Python高级-Django框架-01入门

    欢迎学习django课程 软件框架 问题1:什么是软件框架? 举个简单的例子,对于一个公司来说,公司中有各个职能部门,每个部门各司其职,通过部门之间的配合来完成工作,这些部门就形成了一个公司的组织架构 ...

  8. python进阶学习--- django框架解析 ---领悟编程语言共性与特性【后续详解】

    python进阶学习---> django框架解析 --->领悟编程语言共性与特性 1.python语言介绍   python解释型脚本语言 2.python执行原理   python解释 ...

  9. Django框架之入门介绍

    Python下有许多款不同的Web框架.Django(发音:[`dʒæŋɡəʊ]) 是重量级选手中最有代表性的一位,许多成功的网站和APP都基于Django. 作为Python最重要的框架之一,Dja ...

最新文章

  1. 老板:kill -9的原理都不知道就敢到线上执行,明天不用来了
  2. 摊牌了,我靠他实现了NLP模型使用入门
  3. Java运行机制及相关术语
  4. Aspose.Cells.dll操作exel
  5. 自包含 .NET Core应用程序
  6. 苦思冥想时,吃什么,尝一口,酥脆掉渣,鲜掉眉毛!
  7. docker公共存储库_Docker Hub公共镜像仓库的使用
  8. 流畅的python 数据模型
  9. 用C#实现DES加密解密解决URL参数明文的问题
  10. 头条三面: String.valueOf、toString()、(String)强转,有啥区别?
  11. 美图秀秀扣取签字,证件照换背景
  12. 【eoeAndroid社区索引】Android控件知识汇总
  13. AE 2021最新最全插件滤镜大全一键安装版下载 After Effects 2021插件合集WIN一键安装版 支持AE 2021
  14. 备用计算机机房管理制度,计算机机房管理规定
  15. 风口的猪-中国牛市(动态规划)----百度2016研发工程师在线编程题
  16. MATLAB滑动T检验
  17. 计算机视觉之--使用opencv生成简笔画小视频
  18. python文件处理基础_第六篇:python基础之文件处理
  19. 前端框架,库,组件,插件,控件的理解
  20. Codeforces 833D Red-Black Cobweb 边分治

热门文章

  1. 全国大学生数学建模竞赛获奖难度
  2. 指尖江湖服务器维护,指尖江湖备受国内外媒体好评,服务器问题已解决,玩家:洛风好用...
  3. 林志炫-快乐老家-LRC歌词下载
  4. OSChina 周日乱弹 —— 木兰,其实我喜欢你很久了
  5. 什么是音频转换?音频怎么转换?
  6. HTML Input标签输入限制
  7. 摆脱处男_是时候摆脱我们的密码了
  8. 有没有Mac游戏推荐?尤卡莱莉大冒险 for Mac
  9. 兔子与狐狸c语言,【狐狸和兔子的故事】_ 狐狸和兔子故事_亲亲宝贝网
  10. 手把手写算法(学个语言)