一、定义视图

views.py中定义函数处理操作:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from demo.models import Student
from demo.serializers import StSerializer
from django.http import HttpResponse
from django.template import loader, Context
import json


def transmit(request):
t = loader.get_template("transmit.html") # 通过loader加载模板

ulist = Student.objects.all()
serializer = StSerializer(ulist, many=True)

result = {}
result["stutue"] = "200"
result["data"] = serializer.data

json_str = json.dumps(result) # 转换成json字符串

c = Context({"title": "测试", "ulist": ulist, "json_str": json_str})
return HttpResponse(t.render(c))

通过Context将变量titleulistjson_str传给模板中显示,其中StudentStSerializer用 的数据。

二、创建网页模板

templates中创建transmit.html模板:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{{ title }}</title>
</head>

<body>
{% for foo in ulist %}
{# 通过循环输出所有的list #}
<h7> id = {{ foo.id }},
{# 手动敲回车键是不识别的,只为阅读方便 #}
username = {{ foo.username }},
password = {{ foo.password }},
email = {{ foo.email }},
have = {{ foo.have }}</h7>
<br/>
{% endfor %}

<p/>
<h7>json_str 是 <br/> {{ json_str }}</h7>
</body>
</html>

三、配置URL

urls.py中配置url:

1
2
3
4
5
6
7
from django.conf.urls import url, include
from demo import views

urlpatterns = [
...
url(r'^transmit/$', views.transmit),
]

四、查看