标签:rtc django 视图 相对 title 查找 代码 The 模板引擎
必须参数
request:视图接受到的request
template_name:模板名称
可选参数
context:上下文变量
content_type:响应的MIME类型, 默认为DEFAULT_CONTENT_TYPE设置的值
status:响应的状态,默认为200
using:用于加载模板的模板引擎
弃用,不需要request参数的render()
将HttpResponseRedirect返回给传递的参数的适当URL。
参数可能是
默认情况下发出临时重定向;传递permanent=True发出永久重定向。
(1). a Model example
from django.shortcuts import redirect
def my_view(request):
...
obj = MyModel.objects.get(...)
return redirect(obj)
(2). a view name example
通过传递视图的名称和一些位置或关键字参数(可选);URL将使用reverse()方法反向解析
def my_view(request):
...
return redirect(‘some-view-name‘, foo=‘bar‘)
(3). An absolute or relative URL example
通过传递一个硬编码URL重定向到
def my_view(request):
...
return redirect(‘/some/url/‘)
# 也可以写成全路径
def my_view(request):
...
return redirect(‘https://example.com/‘)
调用get()方法 当没有查找到对象时抛出http404异常
from django.shortcuts import get_object_or_404
product = get_object_or_404(Product, pk=1)
相当与以下代码
from django.http import Http404
try:
product = Product.objects.get(pk=1)
except MyModel.DoesNotExist:
raise Http404
get_object_or_404(klass, *args, **kwargs)
参数:
klass:用于获取对象的Model,Manage,Queryset实例
**kwargs:用于get()和filter()查询的条件参数
queryset = Book.objects.filter(title__startswith=‘M‘)
get_object_or_404(queryset, pk=1)
# 上边的例子有点复杂,其实相当于以下代码
get_object_or_404(Book, title__startswith=‘M‘, pk=1)
get_object_or_404(Book.dahl_objects, title=‘Matilda‘)
author = Author.objects.get(name=‘Roald Dahl‘)
get_object_or_404(author.book_set, title=‘Matilda‘)
from django.shortcuts import get_list_or_404
def my_view(request):
my_objects = get_list_or_404(MyModel, published=True)
相当于以下代码
from django.http import Http404
def my_view(request):
my_objects = list(MyModel.objects.filter(published=True))
if not my_objects:
raise Http404("No MyModel matches the given query.")
标签:rtc django 视图 相对 title 查找 代码 The 模板引擎
原文地址:https://www.cnblogs.com/LTEF/p/9736817.html