Django学习笔记(5)--定义模板

这篇Django学习笔记介绍了如何创建模板目录,包括在settings.py中配置'TEMPLATES.DIRS',在templates下建立应用目录和HTML文件。接着讲述了定义视图、配置URL以及实现页面访问的功能。最后,文章探讨了如何实现访问关联链接,例如通过URL跳转到特定ID的学生信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.创建模板目录

  • 在项目下创建一个目录名为:templates
    创建目录后需要首先在settings.py文件中修改TEMPLATES 下的’DIRS’参数

    **settings.py**
    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR,'templates')],
            'APP_DIRS': True,
            ....
          }
      ]
    
  • 在templates下创建一个应用目录,如polls

  • 在polls下创建一个html文件,如grades.html

    **grades.html**
    <h1>班级信息</h1>
    <ul>
        {%for grade in grades%}
        <li>
            <a href="#">{{grade.gname}}</a>
        </li>
        {%endfor%}
    </ul>
    

2.定义视图

from django.shortcuts import  render
from .models import Grades,Students

def grades(request):
    #去模板里取数据
    gradesList = Grades.objects.all()
    #将数据传递给模板,模板再渲染页面,将渲染好的代码返回给浏览器
    return render(request,'polls/grades.html',{"grades":gradesList})

3.配置URL

from django.urls import path
from . import views

urlpatterns = [
    path('',views.index),   #连接地址后缀不需要输入任何字符即可返回views.index的内容
    path('<int:num>/<int:num2>/',views.detail),
    path('grades/',views.grades),
    path('students/',views.students),
]

4.页面访问

http://127.0.0.1:8000/grades/

5.访问关联连接(如:访问班级下学生信息)

**grades.html将href后改成*{{grade.id}}*
<h1>班级信息</h1>
<ul>
    {%for grade in grades%}
    <li>
        <a href="{{grade.id}}">{{grade.gname}}</a>
    </li>
    {%endfor%}
</ul>
**views.py新增函数**
def gradeStudent(request,num):
    #获得对应的班级对象
    grade = Grades.objects.get(pk=num)
    #获得班级下的所有学生对象列表
    studentsList = grade.students_set.all()
    return render(request,'polls/students.html',{"students":studentsList})
**urls.py新增url**
path('grades/<int:num>/',views.gradeStudent)

点击对应班级,url可跳转对应ID位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值