Skip to content

Commit e153cb6

Browse files
committed
更新md
更新md
1 parent 63a778e commit e153cb6

1 file changed

Lines changed: 65 additions & 0 deletions

File tree

django_note/快捷函数.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
### render()
2+
**render(request, template_name, context=None, content_type=None, status=None, using=None)**
3+
4+
将给定的模板与给定的上下文字典组合在一起,并以渲染的文本返回一个HttpResponse对象。
5+
##### 参数
6+
* request:必选,请求对象
7+
* template_name: 必选,要使用的模板的全名或模板名称的序列.
8+
* context:要添加到模板上下文的值的字典。
9+
```python
10+
from django.shortcuts import render
11+
def my_view(request):
12+
return render(request, 'myapp/index.html', {
13+
'foo': 'bar',
14+
}, content_type='application/xhtml+xml')
15+
```
16+
17+
### redirect()
18+
**redirect(to, \*args, permanent=False, \*\*kwargs)**
19+
20+
to:参数可以是一个模型对象(模型的get_absolute_url()函数会被调用),可以是一个视图名,也可以是硬编码URL。
21+
```python
22+
from django.shortcuts import redirect
23+
def my_view(request):
24+
obj = MyModel.objects.get(...)
25+
return redirect(obj)
26+
27+
def my_view(request):
28+
return redirect('some-view-name', foo='bar')
29+
30+
def my_view(request):0
31+
return redirect('https://example.com/')
32+
```
33+
34+
### get_object_or_404()
35+
示例:
36+
```python
37+
from django.shortcuts import get_object_or_404
38+
def my_view(request):
39+
obj = get_object_or_404(MyModel, pk=1)
40+
```
41+
等同于:
42+
```python
43+
from django.http import Http404
44+
def my_view(request):
45+
try:
46+
obj = MyModel.objects.get(pk=1)
47+
except MyModel.DoesNotExist:
48+
raise Http404("No MyModel matches the given query.")
49+
```
50+
51+
### get_list_or_404()
52+
示例:
53+
```python
54+
from django.shortcuts import get_list_or_404
55+
def my_view(request):
56+
my_objects = get_list_or_404(MyModel, published=True)
57+
```
58+
等同于:
59+
```python
60+
from django.http import Http404
61+
def my_view(request):
62+
my_objects = list(MyModel.objects.filter(published=True))
63+
if not my_objects:
64+
raise Http404("No MyModel matches the given query.")
65+
```

0 commit comments

Comments
 (0)