django常用模块

本文介绍了Django的相关知识,包括views常用模块,如render、redirect等的功能及引入方式,还涉及cookie和session的设置、读取与清除;阐述了登录状态保持中cookie和session的特点及使用方法;最后列举了modles常用的数据类型和查询数据的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.views常用模块

  • render :返回一个页面,或返回一个页面和数据 ,引入方式:from django .shortcuts import render     
  • redirect: url跳转,重定向,引入方式:from  django.shortcuts import redirect
  • HttpResponse:可以返回数据或调用模板,引入方式 from django.hhtp import HttpResponse
  • HttpResponseRedirect: url跳转,重定向,引入方式: from django.http import HttpResponseRedirect
  • HttpResponse.set_cookie():设置cookie,
  • delete_cookie(key): 删除指定的cookie,如果key不存在则什么都不会发生
  • JsonResponse:返回json数据,一般用于异步请求,引入方式:from django.http import JsonRespons
  • 设置session: request.session['键']=值
  • 读取session:request.session.get('键',默认值)
  • 清除session :request.session.clear()
  • 清除整条session数据:request.session.flush()
  • 设置session超市时间:request.session.set_expiry(value)

 

2.登录状态保持

  • cookie:所有数据存储在客户端,不安全,存储内容量小
  • session:所有数据存储到服务端,比较安全,cookie存储的是seesion_id
  • session.get():获取session值
  • session.clear():清除session,与数据库不同步
  • session.fulsh():将session的缓存中的数据与数据库同步

3.modles常用

  •  CharField:字符类型,必须参数是max_length设置字段长度
  • IntegerField:整数类型
  • BooleanField:布尔类型
  • TextField(Field) :文本类型
  • ImageField:文件上传到指定的目录
  • DateTimeField:日期类型字段YYYY-MM-DD HH:MM
  • DateField:日期类型 YYYY-MM-DD
  • FloatField:浮点类型的数据
  • ForeignKey:创建外键
  • ManyToManyField:多对多
  • OneToOneField:一对一
  • 表名.objects.all():查询全部数据
  • 表名.objects.filter():筛选查询数据
  • 表名.objects.get(pk=1):查询索引是1的数据

    

 

          

Django模板语言中,有许多内置的标签(Tag),它们帮助开发者更有效地编写动态网页。这里列举一些常用Django模板标签: 1. **for**:循环遍历一个序列,例如列表或QuerySet,显示每个元素的内容。 ```html {% for item in items %} {{ item }} {% endfor %} ``` 2. **if** 和 **else if**:条件判断,检查某个条件是否成立,如果成立则执行一段代码。 ```html {% if user.is_authenticated %} Hello, {{ user.username }}! {% else %} Please log in. {% endif %} ``` 3. **url** 或 **reverse**:生成URL,常用于链接跳转。 ```html <a href="{% url 'app_name:view_name' pk=object.pk %}">Edit</a> ``` 4. **include**:嵌入另一个模板的部分内容。 ```html {% include "snippet.html" with variable="value" %} ``` 5. **extends**:模板继承,让子模板继承一个父模板的结构。 ```html {% extends "base.html" %} {% block content %} Content goes here... {% endblock %} ``` 6. **with**:创建局部变量作用域,避免全局变量污染。 ```html {% with some_variable=some_value %} ... use {{ some_variable }} ... {% endwith %} ``` 7. **comment**:模板注释,不会在最终HTML中显示。 ```html {% comment %} This is a template comment that won't be rendered to HTML. {% endcomment %} ``` 这些只是Django模板标签的一部分,实际应用中还有很多其他复杂或特定场景使用的标签。对于更详细的使用,你可以查阅Django官方文档或相关教程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值