django学习笔记(1)

====================课程概况
django框架—》3天
drf框架------》3天
美多商城-----》12天
====================web应用处理流程
1.接收客户端的请求
2.逻辑处理
3.返回响应
========django简介
M
>model,用于操作关系型数据库
V
>view,用于接收请求,业务逻辑处理,返回响应
T
>template,用于根据数据生成html页面
====================创建工程及应用
------虚拟环境
mkvirtualenv 名称 -p python3
pip install -r meiduo_requirements.txt
------工程
django-admin startproject 项目名称
------应用
1.python manage.py startapp 应用名称
2.在demo1/settings.py中安装
INSTALLED_APPS = [
‘应用.apps.类名’,
]
------视图
1.在应用的views.py中定义函数
必须接收request参数
必须返回HttpResponse对象
2.在应用中创建urls.py,定义路由规则
3.在demo1/urls.py中包含应用中的urls
==================配置
BASE_DIR
=>项目在磁盘的根目录
LANGUAGE_CODE = 'zh-hans’简体中文
TIME_ZONE = 'Asia/Shanghai’北京时间
====================静态文件
css,js,图片文件
# 请求路径
STATIC_URL = ‘/static/’
# 文件目录,使用静态文件时,会到如下目录中查找文件
STATICFILES_DIRS = [
os.path.join(BASE_DIR, ‘static’),
]
====================路由说明
url字符串:协议://域名:端口/路径/?查询字符串a=1&b=2&c=3
1.从url中获取路径,去掉最左侧的/
2.与根级url进行匹配,如果匹配不成功则返回404
3.如果匹配成功,则去掉成功的字符串,使用余下的字符串继续匹配
4.加载子级列表,逐条匹配
5.匹配成功后,找到视图函数,以请求对象为参数,执行函数
关于/的使用:
1.正则表达式不能以/开始
2.推荐以/结尾
====================App应用配置
应用自动创建,代码不需要修改
================请求对象Request
-----获取数据的四种方式
1.从路径中提取数据
1.位置参数:在正则表达式中添加(),在函数中指定参数
2.关键字参数:(?P<名称>正则表达式)
2.查询字符串
request.GET
=>字典
3.请求报文体
表单:request.POST
非表单:request.body
=>json
4.请求报文头
request.属性
{
“title”:“北京”,
“address”:“顺义”
}
-----常用属性
method:请求的方式,‘GET’,‘POST’,…
path:请求路径
user:当前用户,如果未登录则匿名用户,如果已登录,则是登录的用户对象
====================响应对象Response
HttpResponse(数据)
JsonResponse(参数,safe=False)
如果参数不是字典,则设置safe=False不会抛异常
================状态保持
-----cookie
以键-值对的格式存储在浏览器中
基于域名安全
自动包含在请求报文头中发给服务器
写:response.set_cookie(键,值,max_age=以秒为单位的过期时间)
读:request.COOKIES.get(键)
=>返回值,如果没有返回None
-----session
request.session类型是字典
-------------了解session保存、获取流程
session依赖于cookie
==================类视图
---------代码实现
class ***View(django.views.View):
def 请求方式同名小写(self,request):
pass
---------为什么要用类视图
继承,实现代码重用
业务逻辑清晰
==============总结
能够使用命令创建Django工程和子应用
工程:django-admin startproject 工程名称
应用:python manage.py startapp 应用名称
知道如何在Django中定义视图及路由
1.在views.py中定义函数或类
2.在urls.py中配置路由规则
url(正则表达式,函数名称)
知道如何使用request对象获取查询字符串参数
request.GET
=>字典
知道如何使用request对象获取请求体数据
表单:request.POST
=>字典
非表单:json.loads(request.body.decode())
=>字典
知道如何构造HttpResponse的响应对象
HttpResponse(数据,status=)
JsonResponse(数据,safe=False)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
学习Django时,使用PyCharm作为开发工具可以提高效率。PyCharm是一款功能强大的Python集成开发环境,它提供了丰富的功能和工具,可以帮助开发者更好地编写和调试Django应用程序。 在学习Django的过程中,可以使用PyCharm创建Django项目,并使用其内置的Django支持功能来简化开发过程。PyCharm可以自动识别Django项目的结构,并提供代码补全、语法检查、调试等功能,帮助开发者更快地编写和调试代码。 此外,PyCharm还提供了集成的版本控制系统,如Git,可以方便地管理和追踪代码的变化。它还支持自动化测试和部署,可以帮助开发者更好地进行项目管理和发布。 总之,使用PyCharm作为开发工具可以提高Django学习的效率和便利性。它的强大功能和友好的用户界面使得开发者可以更专注于代码的编写和项目的开发。\[1\] \[2\] \[3\] #### 引用[.reference_title] - *1* *3* [PyCharm平台下初学Django框架](https://blog.csdn.net/howard2005/article/details/93491364)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [pycharm平台下的Django教程](https://blog.csdn.net/Sunshine_ZCC/article/details/73918408)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值