django常用函数

1.from django.shortcuts import get_object_or_404

blog = get_object_or_404(Blog,pk=id)

get_object_or_404对应的是get()函数

如果没有获取到object,就返回404页面

2.from django.shortcuts import render

render(request,template,context)

context  ------>dict

3.from django.shortcuts import get_list_or_404

bloglist = get_list_or_404(Blog,name='apress')

get_list_or_404对应的是filter()函数

如果返回的list是空的,就返回404页面


### Django 中全部内置函数列表 Django 是一个功能强大的 Web 开发框架,提供了许多内置工具来简化开发过程。以下是关于 Django 内置函数的相关说明: #### 1. **模板中的内置过滤器** Django 的模板引擎提供了一系列内置过滤器,用于处理模板变量的数据格式化或其他操作。例如,在 `myfilter` 文件中可以自定义过滤器并注册到模板系统中[^1]。 ```python from django import template register = template.Library() @register.filter def test(value, args): return value * args ``` 上述代码展示了如何创建一个新的模板过滤器 `test` 并将其注册到模板库中。通过这种方式,开发者可以在模板文件中调用该过滤器完成特定逻辑运算。 #### 2. **视图层常用内置方法** 在视图层中,Django 提供了许多便捷的方法帮助快速实现业务需求。比如常用的 `get_object_or_404()` 函数能够安全地查询数据库记录,并在未找到对应对象时自动返回 HTTP 404 错误响应[^2]。 ```python from django.shortcuts import get_object_or_404, render from .models import Question def detail(request, question_id): question = get_object_or_404(Question, pk=question_id) return render(request, 'polls/detail.html', {'question': question}) ``` 此示例演示了当访问某个具体问题详情页时,利用 `get_object_or_404` 方法确保请求的对象存在与否的判断机制。 #### 3. **序列化器中的字段配置** 对于 RESTful API 接口设计而言,Django Rest Framework (DRF) 扩展了原生的功能支持更复杂的场景应用。其中涉及到了模型序列化的设置方式以及隐藏某些敏感信息不对外暴露的技术手段[^3]。 ```python class DebugtalksModelSerializer(serializers.ModelSerializer): project = serializers.StringRelatedField( label='所属项目名称', help_text='所属项目名称', read_only=True ) class Meta: model = Debugtalks fields = ['id', 'name', 'project', 'debugtalk'] extra_kwargs = { 'debugtalk': { 'write_only': True } } class DebugtalkSerializer(serializers.ModelSerializer): class Meta: model = Debugtalks fields = ['id', 'debugtalk'] ``` 以上代码片段解释了 DRF 序列化过程中对不同字段权限控制的具体实践案例。 --- 由于 Django 官方文档庞大复杂,无法逐一列举所有的内置函数及其用途。建议查阅官方指南了解最新版本下的全面特性描述链接如下:https://docs.djangoproject.com/en/stable/ref/templates/builtins/ 和 https://www.django-rest-framework.org/api-guide/serializers/#specifying-read-only-fields 。这些资源可以帮助深入理解各个组件的工作原理与实际应用场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值