深入浅出了解Django

您所在的位置:网站首页 django项目实例精解 深入浅出了解Django

深入浅出了解Django

#深入浅出了解Django| 来源: 网络整理| 查看: 265

原标题:深入浅出了解Django

本文通过单文件Django示例,阐述Django的运行机理。

01

Django开发项目

《Python Web开发从入门到实战(Django+Bootstrap)》第3~11章主要以一个实际的企业门户网站为例,各章内容安排上从简单到复杂,将Python Web的各个知识点串联在每章的内容中,整个项目依托流行的Python Web框架Django进行实现。截止到本篇,相信读者已经对Django有一定的了解,熟悉并能够掌握构建项目的基本流程。一般来说,Django开发项目包含下面几个步骤:

1) 运行django-admin startproject 创建项目;

2) 切换到项目根目录,运行python manage.py startapp 创建项目应用;

3) 在settings.py文件中进行项目配置,包括应用导入、路由urls配置等;

4)在应用目录下创建templates文件夹,然后在templates文件夹下创建并编辑前端模板HTML文件;

5) 在应用的视图文件views.py中创建并编辑视图处理函数;

6)在urls.py文件中绑定请求和对应的视图处理函数;

7)运行python manage.py runserver 来启动本地开发服务器;

根据上述步骤,只需要在Django框架的基础上像搭积木一样将相关内容填入指定的模块中即可实现一个完整的Python Web项目。到这里,读者是否有疑虑,到底Django的各个文件之间是如何关联的?各个文件的内容是什么关系?Django项目与普通的Python单文件脚本有什么区别?

为了能够比较好的解释上述问题,本章将以单文件Django为突破口,阐述Django内在的实现逻辑。另外,在此基础上将会阐述目前流行的前后端分离概念REST,学习在Django中运用REST的理念进行项目开发,并且会辅以一个实例项目(在线中文字符识别)来进一步理解和运用Django REST。

02

单文件Django

在实际开发过程中,有时需要查看手动写入的数据是否正确或者插入一些中间数据,此时如果采用Django框架的话就需要从当前app中切换出来,然后启动项目,显然这种方式不是很直观。尽管Django提供了shell工具以方便我们对其进行交互,但是还是不如普通的单文件Python脚本运行方便。很多Web框架都以方便使用而著称,特别是flask,一个独立的文件就可以实现简单的Hello World项目,那么Django是否也可以以单一的Python文件形式来开发项目呢?答案是可以的。

新建一个文件夹名为singleDjango,然后在该文件夹下创建一个Python脚本文件test.py,在头部引入相关的Python依赖包:

fromdjango.conf importsettings

fromdjango.http importHttpResponse

fromdjango.urls importpath

其中第一行引入的settings是Django的配置文件钩子,可以在项目的任何地方引入它,然后通过“.”路径符来访问项目的配置。例如settings.ROOT_URLCONF就会返回项目根路由配置。一般来说,如果需要引用项目配置,标准写法是import project.settings as settings,但是此处只需要引入Django自己的配置就可以了,原因在于在项目没有运行前,Django会先加载配置文件,并且把settings对象的属性连接到各个配置上。注意,由于settings是一个对象而不是一个模块,因此不能使用类似from django.conf.settings import DEBUG的语法,在访问配置时,只能以settings.的形式来调用配置。第二行代码用于返回一个响应,最后一行代码用于设置路由urlpatterns。

在Django中只有加载了配置文件才能使相应功能按照需求运转。在Django中加载配置文件有两种方式:

1) 使用settings.configure(**settings)手动的写每一项配置,这样做的好处是当需要配置的项比较少时可以不需要额外的创建一个文件作为配置文件;

2) 使用django.setup通过环境变量来配置。Django.setup方法会自动查询环境变量中’DJANGO_SETTINGS_MODULE’的值,然后把它的值作为配置文件路径并读取这个文件的配置;

上述两种方法都可以用来配置Django,本章为了实现单文件Django,采用第一种方法进行配置。在test.py文件中继续添加代码:

setting = { 'DEBUG': True, 'ROOT_URLCONF': __name__}

settings.configure(**setting)

上述代码设置DEBUG为True进入调试模式从而使得程序出错的时候可以看到错误提示。设置ROOT_URLCONF为__name__也就是这个文件本身,意味着把urlpatterns这个变量写进这个文件中。

完成上述基本的模块导入和配置后,下面开始编写视图处理函数,继续添加代码:

def home(request):

returnHttpResponse( 'Hello World!')

该视图处理函数通过HttpResponse函数返回一个字符串。最后,配置路由url,添加代码:

urlpatterns = [

path( '', home, name= 'home'),

]

该路由将当前视图处理函数home与根网址进行绑定。最后运行该文件,在Django框架中使用python manage.py来运行项目,实际上在manage.py文件内部,其核心是通过调用Django的excute_from_command_line(**command_line_args)来运行应用。这里将这部分代码剥离出来,添加运行代码如下:

if__name__ == '__main__':

importsys

fromdjango.core.management importexecute_from_command_line

execute_from_command_line(sys.argv)

完成上述内容添加后保存test.py文件。在终端中输入命令:

python test.py runserver

运行后在浏览器中访问127.0.0.1:8000 即可看到浏览器页面上成功输出了“hello World”字样。

到这里,可以发现仅通过14行代码就完成了一个单文件Django项目,其原理就是将原先Django框架下的位于各个文件中的关键代码逐步抽离,包括项目配置文件settings.py、路由文件urls.py、视图文件views.py,然后将这些内容放置在同一个Python脚本文件中。通过这个单文件Django示例,读者可以进一步体会Django框架各个模块的作用,了解Django的运行机理,为后面的内容打下基础。

03

直播回顾

04

参考书籍

《Python Web 开发从入门到实战(Django+Bootstrap)-微课视频版》

ISBN:978-7-302-55325-0

钱彬 编著

定价:59.9元

内容简介

本书是一本介绍Python Web开发的实战教程的书籍,主要内容是紧紧围绕一个完整的企业门户网站开发案例,由浅入深地讲解Python Web项目开发的各个环节。

全书共分为三部分,共有12章。

1

第一部分 基础知识篇

第1章 Python Web环境搭建

1.1 Python Web概述

1.2 安装Python

1.3 安装开发工具VS Code

1.4 第一个Python Web程序

1.5小结

第2章 基础语法

2.1 Python基本运算

2.2 Python数据类型

2.3 Python控制语句

2.4 Python函数

2.5 Python面向对象

2.6 Python模块和包

2.7 Python装饰器

2.8 Python读写数据库

2.9 HTML基础

2.10 CSS基础

2.11 Java基础

2.12 Bootstrap框架使用介绍

2.13 实战项目:在线Web计算器

2.14小结

2

第二部分 实战开发篇

第3章 企业门户网站框架设计

3.1 需求概述

3.2 搭建项目框架

3.3小结

第4章 开发“科研基地”模块

4.1 制作门户网站基础页面

4.2 基于Django模板的页面复用

4.3 向模板传递动态参数

4.4小结

第5章 开发“公司简介”模块

5.1 继承模板

5.2 制作侧边导航栏

5.3 Django数据库模型

5.4 优化后台管理系统

5.5 小结

第6章 开发“产品中心”模块

6.1 路由传递参数实现页面切换

6.2 制作产品列表页面

6.3 Django分页显示

6.4 制作“产品详情”页面

6.5小结

第7章 开发“新闻动态”模块

7.1 基于富文本的“新闻”模型

7.2 开发“新闻列表”和“新闻详情”页面

7.3 新闻搜索

7.4 小结

第8章 开发“人才招聘”模块

8.1 嵌入百度地图

8.2 招聘与应聘互动模块

8.3 发送邮件

8.4 动态生成word

8.5 小结

第9章 开发“服务支持”模块

9.1 开发资料下载功能

9.2 搭建人脸识别开放平台

9.3 在线人脸检测

9.4 小结

第10章 开发“首页”模块

10.1首页模块开发

10.2 Django缓存系统

10.3 小结

第11章 基于Windows的项目部署

11.1本地服务器部署

11.2云服务器部署

11.3 MySql数据库安装和使用

11.4 扩展Django部署

11.5 小结

3

第三部分 高级强化篇

第12章 深入浅出Django

12.1 单文件Django

12.2 Django REST项目实战:在线中文字符识别

12.3 小结

本书特色

(1)本书采用以基础知识点精讲与实战开发案例相结合的方式,由浅入深地带读者实现Python Web 开发从入门到实战。

(2)实战开发案例丰富,涵盖17个知识点案例和6个完整项目案例。

(3)代码详尽,易复现,规避重复代码。

(4)各个章节前后连贯,操作步骤容易掌握。

05

精彩文章回顾

HTML5 实现黑白棋游戏 附代码 利用微信小程序实现活动报名登记 | 附代码 使用Flutter小部件跨平台开发移动端App组件 | 附代码 电脑病毒木马的清除和防范方法 | 附视频 教你用Python做在线人脸检测 教你用Python搭建人脸识别开放平台 一篇文章读懂:Spark运行模式 有监督机器学习——K近邻算法解决二分类问题|附代码 无监督机器学习——K均值算法解决病毒聚类问题|附代码 无监督机器学习——K均值算法实现简单聚类|附代码 实战Spring Boot | 天气预报系统的开发 数据结构特训营 | 文末赠书 用Unity制作一个有大脑的NPC | 附视频(限免观看 利用Python+Cocos2d制作《猫吃老鼠》小游戏 | 附源码

返回搜狐,查看更多

责任编辑:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3