美文网首页
4.继续复习templates文件的配置

4.继续复习templates文件的配置

作者: hs_a2d1 | 来源:发表于2018-01-10 22:25 被阅读0次

刚才知道了如何把前端获取的信息存储到数据库,现在来看如何把数据库信息写到前端。在views.py里:

from django.shortcuts import render
from .models import UserMessage #.的意思是与本文件同一目录
# Create your views here.
def getform(request):
    message = None
    all_messages = UserMessage.objects.filter(name='bobby')
    if all_messages:
        message = all_messages[0]

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

render 函数第三个参数{"my_message":message}即是向html文件传递数据的关键。再看message_form.html:

<!<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" href="/static/css/style.css">
</head>
<body>
<form action="/form/" method="post" class="smart-green">
    <h1>留言信息
        <span>请留下你的信息.</span>
    </h1>
    <label>
        <span>姓名 :</span>
        <input id="name" type="text" value="{{ my_message.name}}" name="name" value="{}" class="error" placeholder="请输入您的姓名"/>
        <div class="error-msg"></div>
    </label>

    <label>
        <span>邮箱 :</span>
        <input id="email" type="email" value="{{ my_message.email}}" name="email" placeholder="请输入邮箱地址"/>
        <div class="error-msg"></div>
    </label>

    <label>
        <span>联系地址 :</span>
        <input id="address" type="text" value="{{ my_message.address}}" name="address" placeholder="请输入联系地址"/>
        <div class="error-msg"></div>
    </label>

    <label>
        <span>留言 :</span>
        <textarea id="message" name="message"  placeholder="请输入你的建议"></textarea>
        <div class="error-msg"></div>
    </label>
    <div class="success-msg"></div>
    <label>
        <span>&nbsp;</span>
        <input type="submit" class="button" value="提交"/>
    </label>
    <input type='hidden' name='csrfmiddlewaretoken' value='SfHkbL4feo1G00sJQtbO7TtLN4c2BUwa' />
    {% csrf_token %}
</form>

</body>
</html>

几个<input后边我都加上了value="{{ my_message.address}}" name="address"这样的参数。从响应函数可以看出my_message是models的实例,即数据库的一行,my_message.address即为adress字段。这样就行了。

value="{% if my_message.name = 'bobby' %}{{ my_message.address}}{%else %}not bobby{% endif %}"

这是django模板的if-else语句写法。再比如说<form action="/form/"这里,如果在url函数的第三个参数写:name='go_form'

from django.conf.urls import url
from django.contrib import admin
from message.views import getform

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^form/', getform,name='go_form'),
]

则html文件可写为form action="{%url go_form%}"
其他写法见官方文档。

相关文章

  • 4.继续复习templates文件的配置

    刚才知道了如何把前端获取的信息存储到数据库,现在来看如何把数据库信息写到前端。在views.py里: render...

  • springboot+freemarker

    pom.xml 配置文件 template-loader-path: classpath:/templates/ ...

  • 【django】【基础】templates

    templates 返回模板文件:创建templates文件夹:mkdir supporter/templates...

  • (django)模板变量

    一,模板路径配置 在配置文件setting.py中找到TEMPLATES设置来配置。这是一个设置选项的列表,模板大...

  • 完成登录功能(四)

    首页和登录页面的配置 (1)把html文件中index.html拷贝到templates文件夹内 前端初始文件可以...

  • Django_第一个template

    templates介绍 什么是templates? templates就是HTML文件 那它与传统的HTM...

  • Django

    一、创建项目: 二、文件: 三、创建应用: 四、优化url配置: 五、模板Templates的使用: 六、Mode...

  • springboot(2)配置文件与整合其他技术

    4.配置文件: 4.1 SpringBoot配置文件类型:4.2 yml配置文件简介与语法: 4.3配置文件与...

  • spring boot 工程乱码问题

    1、配置html页面,读取templates中文件时,出现乱码 直接发送get请求可以看到Content-Type...

  • Day4-课堂笔记-Django4

    1.文件设置 1)djg1->settings->TEMPLATES->DIRS: 指定templates文件的路...

网友评论

      本文标题:4.继续复习templates文件的配置

      本文链接:https://www.haomeiwen.com/subject/brsanxtx.html