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

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**
    

    班级信息

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('//',views.detail),
    path('grades/',views.grades),
    path('students/',views.students),
]

4.页面访问

http://127.0.0.1:8000/grades/

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

**grades.html将href后改成*{{grade.id}}*

班级信息

**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//',views.gradeStudent)

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

你可能感兴趣的:(django)