标签: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(r‘hello‘,views.hello),
    url(r‘index‘,views.index),
    url(r‘getstudents‘,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