美文网首页
Django 模版学习

Django 模版学习

作者: Shaka_Guo | 来源:发表于2018-05-10 20:38 被阅读0次

    创建模版

    首先在项目目录的 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>
    

    相关文章

      网友评论

          本文标题:Django 模版学习

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