3.4.template与views的交互

一、模板展示views中提供的数据

views中通过context返回对象

message/views.py

from django.shortcuts import render

from message.models import UserMessage


def form_view(request):
    message = None
    all_messages = UserMessage.objects.all()
    if all_messages:
        message = all_messages[0]

    return render(request, 'message.html', {
        'my_message': message,
    })

template中通过插值表达式绑定数据

插值表达式:

templates/message.html

二、模板提交数据到views

模板通过表单提交数据到views对应的url

templates/message.html

注意:

url前后都需要添加“/”,如示例中:action="/form/"

是必须的,否则无法通过django的安全校验

views中接收数据

message/views.py

Last updated

Was this helpful?