没有合适的资源?快使用搜索试试~ 我知道了~
首页Django 2.0中文指南:高效构建与高级概念详解
Django 2.0中文指南:高效构建与高级概念详解
![](https://csdnimg.cn/release/wenkucmsfe/public/img/star.98a08eaa.png)
Django 2.0 中文文档是一份全面深入的教程,旨在帮助读者理解和掌握这个流行的Web开发框架。该文档主要关注两个核心部分:一是详细解析Django的核心功能和开发实践,包括视图和URL配置、模板系统、模型设计、Admin管理界面、表单处理等,这些都是构建高效Web应用的基础。二是探讨更高级的主题,如高级视图和URL配置、模板高级用法、模型扩展、通用视图、部署策略、非HTML内容输出、会话与用户管理、缓存机制、子框架集成、中间件的使用、数据库和应用集成、国际化和安全性。 第一章介绍了Django的本质,强调其作为框架的价值在于简化繁琐的Web开发过程,提供高度抽象的开发模式和通用解决方案,同时允许开发者在必要时进行定制。书中会逐步展示如何利用Django减少重复劳动,提高开发效率,以及如何写出清晰、易于维护的代码。 框架在现代Web开发中的作用至关重要,Django凭借其高效、模块化和可扩展的设计脱颖而出。作者通过对比不使用框架的方式,强调了Django在自动化处理常见任务、简化代码结构和提升开发速度方面的优势。例如,使用Django的CGI接口,开发者可以快速编写Python脚本来生成动态HTML,而无需从头开始处理HTTP请求和响应。 通过阅读这份文档,读者不仅能掌握Django的基本操作,还能深入了解如何在实际项目中灵活运用高级特性,从而开发出功能强大且易于维护的网站。无论是初次接触Django还是有一定经验的开发者,这份文档都是提升Web开发技能的宝贵资源。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/10144359/bg10.jpg)
尽管这些的文件很小,但这些文件已经构成了一个可运行的Django应用。
运行开发服务器
为了安装后更多的体验,让我们运行一下django开发服务器看看我们的准系统。
django开发服务是可用在开发期间的,一个内建的,轻量的web服务。我们提供这个服务器是为了让你
快速开发站点,也就是说在准备发布产品之前,无需进行产品级Web服务器(比如Apache)的配置工
作。开发服务器监测你的代码并自动加载它,这样你会很容易修改代码而不用重启动服务。
如果你还没启动服务器的话,请切换到你的项目目录里(cdmysite),运行下面的命令:
pythonmanage.pyrunserver
你会看到些像这样的
Validatingmodels...
0errorsfound.
Djangoversion1.0,usingsettings'mysite.settings'
Developmentserverisrunningathttp://127.0.0.1:8000/
QuittheserverwithCONTROL-C.
这将会在端口8000启动一个本地服务器,并且只能从你的这台电脑连接和访问。既然服务器已经运行起来
了,现在用网页浏览器访问http://127.0.0.1:8000/。你应该可以看到一个令人赏心悦目的淡蓝色
Django欢迎页面。它开始工作了。
在进一步学习之前,一个重要的,关于开发网络服务器的提示很值得一说。虽然django自带的这个
web服务器对于开发很方便,但是,千万不要在正式的应用布署环境中使用它。在同一时间,该服务器
只能可靠地处理一次单个请求,并且没有进行任何类型的安全审计。发布站点前,请参阅第20章了解如
何部署Django。
更改这个DevelopmentServer的主机地址或端口
默认情况下,runserver命令在8000端口启动开发服务器,且仅监听本地连接。要想要更改服务器端口
的话,可将端口作为命令行参数传入:
pythonmanage.pyrunserver8080
通过指定一个IP地址,你可以告诉服务器–允许非本地连接访问。如果你想和其他开发人员共享同一开发
站点的话,该功能特别有用。 `0.0.0.0 `这个IP地址,告诉服务器去侦听任意的网络接口。
pythonmanage.pyrunserver0.0.0.0:8000
第二章:入门
-16-本文档使用看云构建
![](https://csdnimg.cn/release/download_crawler_static/10144359/bg12.jpg)
第三章:视图和URL配置
前一章中,我们解释了如何建立一个Django项目并启动Django开发服务器。在这一章,你将会学到用
Django创建动态网页的基本知识。
你的第一个基于Django的页面:HelloWorld
正如我们的第一个目标,创建一个网页,用来输出这个著名的示例信息:
Helloworld.
如果你曾经发布过Helloworld页面,但是没有使用网页框架,只是简单的在hello.html文本文件中输入
HelloWorld,然后上传到任意的一个网页服务器上。注意,在这个过程中,你已经说明了两个关于这个
网页的关键信息:它包括(字符串"Helloworld")和它的URL(http://www.example.com/hello.html,
如果你把文件放在子目录,也可能是http://www.example.com/files/hello.html)。
使用Django,你会用不同的方法来说明这两件事页面的内容是靠viewfunction(视图函数)来产生,
URL定义在URLconf中。首先,我们先写一个HelloWorld视图函数。
第一份视图:
在上一章使用django-admin.pystartproject制作的mysite文件夹中,创建一个叫做views.py的空文件。
这个Python模块将包含这一章的视图。请留意,Django对于view.py的文件命名没有特别的要求,它不
在乎这个文件叫什么。但是根据约定,把它命名成view.py是个好主意,这样有利于其他开发者读懂你的
代码,正如你很容易的往下读懂本文。
我们的Helloworld视图非常简单。这些是完整的函数和导入声明,你需要输入到views.py文件:
fromdjango.httpimportHttpResponse
defhello(request):
returnHttpResponse("Helloworld")
我们逐行逐句地分析一遍这段代码:
首先,我们从django.http模块导入(import)HttpResponse类。参阅附录H了解更多关
于HttpRequest和HttpResponse的细节。我们需要导入这些类,因为我们会在后面用到。
接下来,我们定义一个叫做hello的视图函数。
每个视图函数至少要有一个参数,通常被叫作request。这是一个触发这个视图、包含当前Web请求
信息的对象,是类django.http.HttpRequest的一个实例。在这个示例中,我们虽然不用request做任
何事情,然而它仍必须是这个视图的第一个参数。
第三章:视图和URL配置
-18-本文档使用看云构建
![](https://csdnimg.cn/release/download_crawler_static/10144359/bg13.jpg)
注意视图函数的名称并不重要;并不一定非得以某种特定的方式命名才能让Django识别它。在这里
我们把它命名为:hello,是因为这个名称清晰的显示了视图的用意。同样地,你可以用诸如:
hello_wonderful_beautiful_world,这样难看的短句来给它命名。在下一小节(YourFirst
URLconf),将告诉你Django是如何找到这个函数的。
这个函数只有简单的一行代码:它仅仅返回一个HttpResponse对象,这个对象包含了文本“Hello
world”。
这里主要讲的是:一个视图就是Python的一个函数。这个函数第一个参数的类型是HttpRequest;它返
回一个HttpResponse实例。为了使一个Python的函数成为一个Django可识别的视图,它必须满足这两
个条件。(也有例外,但是我们稍后才会接触到。
你的第一个URLconf
现在,如果你再运行:pythonmanage.pyrunserver,你还将看到Django的欢迎页面,而看不到我们刚
才写的Helloworld显示页面。那是因为我们的mysite项目还对hello视图一无所知。我们需要通过一个详
细描述的URL来显式的告诉它并且激活这个视图。(继续我们刚才类似发布静态HTML文件的例子。现在
我们已经创建了HTML文件,但还没有把它上传至服务器的目录。)为了绑定视图函数和URL,我们使用
URLconf。
URLconf就像是Django所支撑网站的目录。它的本质是URL模式以及要为该URL模式调用的视图函
数之间的映射表。你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那
段代码。例如,当用户访问/foo/时,调用视图函数foo_view(),这个视图函数存在于Python模块文件
view.py中。
前一章中执行django-admin.pystartproject时,该脚本会自动为你建了一份URLconf(即urls.py文
件)。默认的urls.py会像下面这个样子:
fromdjango.conf.urls.defaultsimport*
#Uncommentthenexttwolinestoenabletheadmin:
#fromdjango.contribimportadmin
#admin.autodiscover()
urlpatterns=patterns('',
#Example:
#(r'^mysite/',include('mysite.foo.urls')),
#Uncommenttheadmin/doclinebelowandadd'django.contrib.admindocs'
#toINSTALLED_APPStoenableadmindocumentation:
#(r'^admin/doc/',include('django.contrib.admindocs.urls')),
#Uncommentthenextlinetoenabletheadmin:
#(r'^admin/',include(admin.site.urls)),
)
默认的URLconf包含了一些被注释起来的Django中常用的功能,仅仅只需去掉这些注释就可以开启这些
功能.下面是URLconf中忽略被注释的行后的实际内容
第三章:视图和URL配置
-19-本文档使用看云构建
![](https://csdnimg.cn/release/download_crawler_static/10144359/bg14.jpg)
fromdjango.conf.urls.defaultsimport*
urlpatterns=patterns('',
)
让我们逐行解释一下代码:
第一行导入django.conf.urls.defaults下的所有模块,它们是DjangoURLconf的基本构造。这包含
了一个patterns函数。
第二行调用patterns()函数并将返回结果保存到urlpatterns变量。patterns函数当前只有一个参数
—一个空的字符串。(这个字符串可以被用来表示一个视图函数的通用前缀。具体我们将在第八章里
面介绍。)
当前应该注意是urlpatterns变量,Django期望能从ROOT_URLCONF模块中找到它。该变量定义了
URL以及用于处理这些URL的代码之间的映射关系。默认情况下,URLconf所有内容都被注释起来了
——Django应用程序还是白版一块。(注:那是上一节中Django怎么知道显示欢迎页面的原因。如果
URLconf为空,Django会认定你才创建好新项目,因此也就显示那种信息。
如果想在URLconf中加入URL和view,只需增加映射URL模式和view功能的Pythontuple即可.这里演示
如何添加view中hello功能.
fromdjango.conf.urls.defaultsimport*
frommysite.viewsimporthello
urlpatterns=patterns('',
('^hello/$',hello),
)
请留意:为了简洁,我们移除了注释代码。如果你喜欢的话,你可以保留那些行。)
我们做了两处修改。
首先,我们从模块(在Python的import语法中,mysite/views.py转译为mysite.views)中引入
了hello视图。(这假设mysite/views.py在你的Python搜索路径上。关于搜索路径的解释,请参照
下文。)
接下来,我们为urlpatterns加上一行:(‘^hello/$’,hello),这行被称作URLpattern,它是一个
Python的元组。元组中第一个元素是模式匹配字符串(正则表达式);第二个元素是那个模式将使用
的视图函数。
简单来说,我们只是告诉Django,所有指向URL/hello/的请求都应由hello这个视图函数来处理。
Python搜索路径
第三章:视图和URL配置
-20-本文档使用看云构建
剩余320页未读,继续阅读
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/65a7561eac024cb1a6c0a6d39a3cdb0f_yort2016.jpg!1)
Yort2016
- 粉丝: 17
- 资源: 10
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- AirKiss技术详解:无线传递信息与智能家居连接
- Hibernate主键生成策略详解
- 操作系统实验:位示图法管理磁盘空闲空间
- JSON详解:数据交换的主流格式
- Win7安装Ubuntu双系统详细指南
- FPGA内部结构与工作原理探索
- 信用评分模型解析:WOE、IV与ROC
- 使用LVS+Keepalived构建高可用负载均衡集群
- 微信小程序驱动餐饮与服装业创新转型:便捷管理与低成本优势
- 机器学习入门指南:从基础到进阶
- 解决Win7 IIS配置错误500.22与0x80070032
- SQL-DFS:优化HDFS小文件存储的解决方案
- Hadoop、Hbase、Spark环境部署与主机配置详解
- Kisso:加密会话Cookie实现的单点登录SSO
- OpenCV读取与拼接多幅图像教程
- QT实战:轻松生成与解析JSON数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)