创建 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中使用类实例对象的属性及方法的更多相关文章

  1. vue-learning:41 - Vuex - 第二篇:const store = new Vue.Store(option)中option选项、store实例对象的属性和方法

    vuex 第二篇:const store = new Vue.Store(option)中option选项.store实例对象的属性和方法 import Vuex from 'vuex' const ...

  2. 理解Python中的类对象、实例对象、属性、方法

    class Animal(object): # 类对象 age = 0 # 公有类属性 __like = None # 私有类属性 def __init__(self): # 魔法方法 self.na ...

  3. Django学习路36_函数参数 反向解析 修改404 页面

    在 templates 中创建对应文件名的 html 文件 (.html) 注: 开发者服务器发生变更是因为 python 代码发生变化 如果 html 文件发生变化,服务器不会进行重启 需要自己手动 ...

  4. Django学习路32_创建管理员及内容补充+前面内容复习

    创建管理员 python manage.py createsuperuser   数据库属性命名限制 1.不能是python的保留关键字 2.不允许使用连续的下划线,这是由django的查询方式决定的 ...

  5. 七、django学习之聚合函数

    七.django学习之聚合函数 如何使用 from django.db.models import Avg,Max,Min,Sum models.Book.objects.all().aggregat ...

  6. JS对象 JavaScript 中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有属性和方法。

    什么是对象 JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法. 对象的属性:反映该对象某些特定的性质的,如:字符串的长度.图像的长宽等: 对象的方法: ...

  7. 重学 Java 设计模式:实战代理模式「模拟mybatis-spring中定义DAO接口,使用代理类方式操作数据库原理实现场景」

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 难以跨越的瓶颈期,把你拿捏滴死死的! 编程开发学习过程中遇到的瓶颈期,往往是由于看不 ...

  8. 有意思的RTL函数RegisterClass(在持久化中,你生成的一个新类的对象,系统并不知道他是如何来的,因此需要你注册)good

    例子1:Delphi中使用纯正的面向对象方法(这个例子最直接) Delphi的VCL技术使很多程序员能够非常快速的入门:程序员门只要简单的拖动再加上少量的几个Pascal语句,呵呵,一个可以运行得非常 ...

  9. 新手C#类、对象、字段、方法的学习2018.08.05

    类:具有相似属性和方法的对象的集合,如“人”是个类. 对象(实例):对象是具体的看得见摸得着的,如“张三”是“人”这个类的对象.(new Person()开辟了堆空间中,=开辟了栈空间,变量P存放在该 ...

随机推荐

  1. jQurey Validation 1.16

    https://jeesite.gitee.io/front/jquery-validation/1.16/demo/index.html

  2. C++多种方法枚举串口号

    部分方式没结果,思路应该是没错. //7. std::cout << "M8: SetupDiGetClassDevs " << std::endl; // ...

  3. Layui的分页模块在网站中的应用

    制作网站的时候,有时候我们常常会被一些要求复杂的分页给困住,最后要么就是写一个简单的分页,要么就做成瀑布流的形式. 有了Layui之后,我认为开发人员多了一个选择,那就是尝试用Layui内置的分页模块 ...

  4. 【Blazor】在ASP.NET Core中使用Blazor组件 - 创建一个音乐播放器

    前言 Blazor正式版的发布已经有一段时间了,.NET社区的各路高手也创建了一个又一个的Blazor组件库,其中就包括了我和其他小伙伴一起参与的AntDesign组件库,于上周终于发布了第一个版本0 ...

  5. 如何科学地完成一场 AR 发布会?全在这份超细节活动策划 Xmind 里了

    你们在哪个酒店搭的景? 5 月 28 日,网易智慧企业完成了一场实景人物拍摄 + 虚拟舞台渲染的 AR 线上见面会.非常有趣的是,在直播过程中,不止一位观众问我们,“你们是在哪个酒店搭的景?”.看来我 ...

  6. JavaWeb基础(day11)

    HTML HTML是超文本标记语言.HTML就 是普通的文本文件,只不过在文本中的内容如果被一些 特殊的标签进行包裹就有了特殊的含义,这些被那些标签标记文本,就成了超文本. 网页的组成 网页的组成 H ...

  7. vue中使用ts时如何导入mixins

    方法一 // mixins.ts import { Vue } from "vue-property-decorator"; export class TableSelect ex ...

  8. 数据可视化之powerBI基础(十一)Power BI中的数据如何导出到Excel中?

    https://zhuanlan.zhihu.com/p/64415543 把Excel中数据加载到PowerBI中我们都已经熟悉了,但是怎么把在PowerBI中处理好的数据导出到Excel中呢?毕竟 ...

  9. 深度学习论文翻译解析(十):Visualizing and Understanding Convolutional Networks

    论文标题:Visualizing and Understanding Convolutional Networks 标题翻译:可视化和理解卷积网络 论文作者:Matthew D. Zeiler  Ro ...

  10. combogrid设置多选,并获取多选的值

    1.combogrid设置多选 1.添加该属性 multiple: true, 2.添加该列 {field:'ck',checkbox:true}, 2.获取多选的值 var arr = $(&quo ...