Django框架01
web框架
web框架:将前端、数据库整合到一起的基于互联网传输的python代码。
动态网页与静态网页
静态网页:页面上的数据是直接写死的,恒定不变的。
动态网页:页面上的数据是通过代码动态获取的,是实时可变的。
eg:页面展示当前时间
def get_time(request): # 1.获取当前时间 import time c_time = time.strftime('%Y-%m-%d %X') # 2.读取html文件 with open(r'templates/get_time.html','r',encoding='utf8') as f: data = f.read() # 3.思考:如何给字符串添加一些额外的字符串数据>>>:字符串替换 new_data = data.replace('asdaksdjal',c_time) return new_data
jinja2模块
Jinja2是基于Python下一个被广泛应用的模板引擎,属于第三方模块>>>:pip3 install jinja2。
来源于Django的模板引擎,并扩展了其语法和一系列强大的功能,最显著的是增加了沙箱执行功能和可选的自动转义功能。
功能介绍:
在编写前后端不分离项目的时候,可以使用该模块提供的模板语法简单快速的,在html页面使用类似于后端的代码语法操作数据。
temp_obj.render({'user':user_dict,'new_list':new_list}) <p>{{ user }}</p> <p>{{ user.name }}</p> <p>{{ user['pwd'] }}</p> <p>{{ user.get('hobby') }}</p> {% for i in new_list %} <span>元素:{{ i }}</span> {% endfor %}
python当中主流的web框架
django:
大而全,自带的功能非常的多,但是有时候会略显笨重。
flask:
小而精,自带的功能非常的少,但是第三方模块非常的多(是优点也是缺点)。
tornado:
异步非阻塞框架,速度极快,甚至可以用于充当游戏服务器。
Django框架简介
版本问题:
- django3.X:默认支持异步功能>>>:django3.2X LTS,2021年发布
- django2.X:默认不支持异步>>>:django2.2.X LTS,2020年发布
- django1.X:默认不支持异步>>>:django1.11.X LTS,2018年发布
启动问题:
''' django启动可能报错的原因 1.计算机名称不能含有中文 直接修改即可 2.不同版本的解释器可能会报错 找到报错信息的最后一行提示对应的代码 删除源文件逗号即可 eg: 解释器推荐使用python3.6 几乎不会报错 解释器如果是高版本使用django1.11可能会报错 解释器如果是低版本使用django2、3也可以报错 3.项目中所有的文件名称最好使用英文 4.一个pycharm窗口尽量就是一个完整的项目 不要嵌套 '''
下载问题:
pip3 install django==1.11.11
ps:如果之前下载了其他版本不用管,自动替换!!!
验证是否下载成功:
cmd窗口直接输入【django-admin】,有反应就是成功了。
Django基本使用方法
安装(在cmd中):
pip3 install django==1.11.x
查看版本号:
django-admin --version
创建django项目:
django-admin startproject 项目名(mysite)
启动django项目:
cd 项目名(mysite)
python3 manage.py runserver IP:PORT
创建app应用:
python3 manage.py startapp 应用名(app01)
应用app
Django是面向应用开发,在应用中完成具体的业务逻辑。
什么是应用app:
就好比项目中的一个功能模块,一个项目可以拥有多个功能模块,但至少得有一个,Django称之为app。
pycharm操作Django
- 创建Django>>>:new project>>>选择django
- 选择项目目录(从项目目录开始,目录文件夹及子文件夹不要出现中文,保证电脑名字不能为中文)
- 配置默认模板语言,模块路径,app名
- 启动
Django当中的主要文件
''' proj_name:项目目录,包含项目最基本的一些配置 -- __init__.py:模块的配置文件 -- settings.py:配置总文件 -- urls.py:路由层,url配置文件,Django项目中的所有页面都需要对齐配置url地址 -- wsgi.py:(web server gateway interface),服务器网关接口,Python应用于web服务器直接通信的接口 templates:模板层,模板文件夹,存放HTML文件的(页面),支持使用Django模板语言(DTL),也可以使用第三方(Jinjia2) manage.py:项目管理器,与项目交互的命令行工具集的入口,查看支持的所有命令(Python manage.py)【django入口文件,很多命令都需要该文件支持】 '''
''' app应用当中的文件: migrations文件夹:数据迁移(移植)模块,内容都是由Django自动生成 admin.py:应用的后台管理系统配置,Djingo自带的后台管理 apps.py:Django 1.9后本应用的相关配置,用于app的注册 models.py:数据模型模块,专门用于操作数据库,使用ORM框架,类似于MVC模式下的Models层 tests.py:自动化测试模块,可以写自动化测试脚本 views.py:视图层,执行相对应的逻辑代码模块 '''
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?