Django初探
2021/9/21 6:29:04
本文主要是介绍Django初探,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Django是什么
Django 最初被设计用于具有快速开发需求的新闻类站点,目的是要实现简单快捷的网站开发。Django 是一个web框架,可以很方便地实现一个数据库驱动的 Web 应用。
web框架和web服务器不一样,web框架是建设web应用的,把从接收请求数据到返回数据的这个过程中的操作进行封装,这样开发者方便地调用框架封装好的API就可以快速的实现自己的功能,所以说实现简单快捷的网站开发。没有web框架也可以开发web应用,就是开发者的工作量会大一些。web服务器是处理请求,并返回响应,还要管理多进程,进程挂了,要拉起等等,web服务器是比在web框架更底层的东西。
Django:一个MTV框架
MTV也就是 model-template-view。
- 模型 model:Django是快速实现数据库驱动的web应用的。model就是数据,一般的,数据都在数据库,数据表里,Django把SQL语句进行了封装,直接用python代码就可以建表,增删改查数据,模型准确且唯一了web应用数据。
- 模板 template:web应用最终是要在浏览器上显示内容的,这就是template的作用,它是html、css、js,把模型的数据填充进去,就是一个完整的、要展示的web页面了。
- 视图 view:要把数据按照功能逻辑填充到模板里,这就是view的作用。view操作(模型)数据,用数据渲染模板,然后返回数据,浏览器端接收到数据后,在页面上呈现。
Django的代码是如何组织起来的
一个项目可以有多个应用APP,一个应用可以有多个URL。比如一个项目是实验室管理系统,可以包含用户应用、设备管理应用、实验开展情况应用等,用户应用下有注册/登录/登出等URL,设备管理应用下有新增设备/查看设备信息/删除设备等URL,实验开展情况应用可以有注册实验/编辑实验/查看实验情况/管理实验参与人员等URL,基本上都是围绕数据库的增删改查。
新建Django项目后,同项目名称的目录下,有 settings.py 和 urls.py 两个文件。setting.py 文件下是整个项目的设置,INSTALLED_APPS变量中设置自己的应用,比如设备管理应用;TEMPLATES 变量中设置用到的模板;DATABASES 变量设置用到的数据库,默认是sqllite3。
Django的执行从 setting.py 开始,读取这些配置,加载注册了的应用,并到对应的应用目录下,执行程序。urls.py是设置整个项目的URL,只设置到应用这一层,应用下面的url在应用里面自己设置,这样就尽量地实现了解耦。
具体到每个应用下,目录结构是:
- templates 目录是存放当前应用的模板。
- models.py 里编写当前应用的model,编写完后在admin.py中注册模型,这样才能在数据库生成数据表。
- views.py 里编写当前应用的视图函数,处理请求,操作数据,并渲染模板后返回。
- urls.py 里把请求的 url 和视图函数进行了绑定。
- test.py 里写单元测试代码。
这样,从settings.py 里注册了app,在每个app里编写这些文件,Django就能把整个项目运行起来,把对于的url请求发送给指定的视图函数,得到正确的处理。
这篇关于Django初探的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-20go-zero 框架的 RPC 服务 启动start和停止 底层是怎么实现的?-icode9专业技术文章分享
- 2024-12-19Go-Zero 框架的 RPC 服务启动和停止的基本机制和过程是怎么实现的?-icode9专业技术文章分享
- 2024-12-18怎么在golang中使用gRPC测试mock数据?-icode9专业技术文章分享
- 2024-12-15掌握PageRank算法核心!你离Google优化高手只差一步!
- 2024-12-15GORM 中的标签 gorm:"index"是什么?-icode9专业技术文章分享
- 2024-12-11怎么在 Go 语言中获取 Open vSwitch (OVS) 的桥接信息(Bridge)?-icode9专业技术文章分享
- 2024-12-11怎么用Go 语言的库来与 Open vSwitch 进行交互?-icode9专业技术文章分享
- 2024-12-11怎么在 go-zero 项目中发送阿里云短信?-icode9专业技术文章分享
- 2024-12-11怎么使用阿里云 Go SDK (alibaba-cloud-sdk-go) 发送短信?-icode9专业技术文章分享
- 2024-12-10搭建个人博客网站之一、使用hugo创建个人博客网站