Django 模版学习

2018-05-10  本文已影响0人  Shaka_Guo

创建模版

首先在项目目录的 templates文件夹中创建index.html
这里就是正常的HTML代码,需要什么就写什么样式的就可以。

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<form action="/index/" method="POST">
<!--aciton 的地址,就是在urls中配置的地址。-->
    <lable>姓名</lable><input type="text" name="username">
    <lable>性别</lable><input type="text" name="sex">
    <lable>邮箱</lable><input type="text" name="email">
    <input type="submit" value="提交">
</form>
<table border="1px">
    <tr>
        <td>姓名</td>
        <td>性别</td>
        <td>邮箱</td>
    </tr>

</table>
</body>
</html>

views 的编写

编写过程中主要注意以下几点:

  1. 因为前端的 method 提交的是 POST
  2. Python 中就需要对POST获取,request.POST.get()
  3. 获取什么见表单中控件的name
  4. 将结果加入字典,以便模版语言使用
  5. 记住,因为创建了列表user_list
    6.最后的render需要将'user_list'封装 {"user_list":user_list},一定要注意格式,用{}包起来。
from django.shortcuts import render
user_list=[]
def index(request):
    username = request.POST.get("username",None)
    sex = request.POST.get("sex",None)
    email = request.POST.get("email",None)
    user ={"username":username,"sex":sex,"email":email}
    user_list.append(user)
    return render(request,"index.html",{"user_list":user_list})

模版语言

再要展示的地方插入模版语言。
模版语言:个人理解(可能理解不对)就是 通过 vender 来实现对html的操作。

    {% for i in user_list %}
        <tr>
            <td>{{ i.username }}</td>
            <td>{{ i.sex }}</td>
            <td>{{ i.email }}</td>
        </tr>
    {% endfor %}

完整代码

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<form action="/index/" method="POST">
<!--aciton 的地址,就是在urls中配置的地址。-->
    <lable>姓名</lable><input type="text" name="username">
    <lable>性别</lable><input type="text" name="sex">
    <lable>邮箱</lable><input type="text" name="email">
    <input type="submit" value="提交">
</form>
<table border="1px">
    <tr>
        <td>姓名</td>
        <td>性别</td>
        <td>邮箱</td>
    </tr>
    {% for i in user_list %}
        <tr>
            <td>{{ i.username }}</td>
            <td>{{ i.sex }}</td>
            <td>{{ i.email }}</td>
        </tr>
    {% endfor %}
</table>
</body>
</html>
上一篇下一篇

猜你喜欢

热点阅读