码迷,mamicode.com
首页 > Web开发 > 详细

Django学习路21_views函数中定义字典及html中使用类实例对象的属性及方法

时间:2020-05-13 17:12:23      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:src   字典元素   ali   com   自己   har   meta   遍历   res   

创建 app6  在项目的 settings 中进行注册
INSTALLED_APPS 里面添加 app6.apps.App6Config

在 app6 的models.py 中创建数据表

class Student(models.Model):
    s_name = models.CharField(max_length= 16)

进行迁移
python manage.py makemigrations 
python manage.py migrate 

在 views 中添加函数
from django.http import HttpResponse
from django.shortcuts import render

# Create your views here.
from app6.models import Student


def hello(request):
    return HttpResponse("你好")

def index(request):
    # render 实质上也是返回 HttpResponse ,render 帮助把模板和context数据渲染成字符串
    ‘‘‘
    temp = loader.get_template(‘index6.html‘)
    content = temp.render()
    return HttpResponse(content)
    两者等价
    return render(request,‘index6.html‘)
    ‘‘‘

    return render(request,index6.html)

def getstudents(request):

    students = Student.objects.all()
    stu_data = {
        students:students
    }
    return render(request,students.html,context=stu_data)
注:
见名知意即可

在 urls.py 中添加
from django.conf.urls import url

from app6 import views

urlpatterns = [
    url(rhello,views.hello),
    url(rindex,views.index),
    url(rgetstudents,views.getstudents)
]

创建 templates 文件夹,添加 students.html 对数据进行遍历
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h3>
    {% for stu in students %}
    <li> {{ stu.s_name }}</li>
    {% endfor %}
</h3>
</body>
</html

技术图片技术图片

以上为 静态的显示接下来的是添加的内容
进阶内容 使用 变量

def getstudents(request):

    students = Student.objects.all()
    stu_dict = {
    #     自己定义的字典
        hobby:play,
        time:5 years
    }

    stu_data = {
        students:students,
        stu_dict:stu_dict
    #     stu_dict 是自己定义的字典
    }


    return render(request,students.html,context=stu_data)






students_list.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<ul>
    {% for stu in students %}
    <li> {{ stu.s_name }}</li>
    {% endfor %}
    <hr/><br/><br/>


    <li> {{ students.0.s_name }}</li>
{#      0   输出第一个数据 #}

    <hr/><br/><br/>

    {% for stu in students %}
    <li> {{ stu.get_name }}</li>
{#    此处使用的是类中定义的方法#}
    {% endfor %}

    <h3>{{ stu_dict.hobby }}</h3>
{#stu_dict 是自己创建的字典类型,使用的 hobby 是自己添加的键值#}
</ul>
</body>
</html>

注:
stu.s_name  遍历的对象获取名字
students.0.s_name 获取第一条数据的名字
stu.get_name 使用类内的方法获取姓名

    def get_name(self):
        # 使用类内定义的函数获取名字
        return self.s_name

stu_dict.hobby 使用自定义的字典元素
注: 需要写到 context 内部的 键中
    stu_dict = {
    #     自己定义的字典
        hobby:play,
        time:5 years
    }

    stu_data = {
        students:students,
        stu_dict:stu_dict
    #     stu_dict 是自己定义的字典
    }

2020-05-13

Django学习路21_views函数中定义字典及html中使用类实例对象的属性及方法

标签:src   字典元素   ali   com   自己   har   meta   遍历   res   

原文地址:https://www.cnblogs.com/hany-postq473111315/p/12882201.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!