
接下来就是创建一些HTML文件,套用模板,同时数据是定义在views.py中,代码如下
from django.shortcuts import renderfrom .models import Job, Cities, JobTypesfrom django.template import loaderfrom django.http import HttpResponse# Create your views here.def joblist(request):#从JOB class中使用内置函数.objects.order_by来读取数据库数据job_list = Job.objects.order_by('job_type')#载入 joblist.html 文件template = loader.get_template('joblist.html')#并向它传递一个上下文 contextcontext = {'job_list': job_list}for job in job_list:job.city_name = Cities[job.job_city][1]job.job_type = JobTypes[job.job_type][1]#最后返回生成HttpReponsereturn HttpResponse(template.render(context))
顺便附带上前端的页面
{% extends 'base.html'%}{% block content %}小叮当的主页哦{% if job_list %}<ui>{% for job in job_list %}<li>{{job.type_name}} <a href="/job/{{job.id}}/" style="color:blue">{{job.job_name}}</a> {{job.city_name}}</li>{% endfor %}</ui>{% else %}<p>没内容</p>{% endif %}{% endblock %}
**然后现在有页面了还不够哦!需要去应用以及项目中去配置路由,也就是urls.py**<br />**这边遇到一个坑!**<br />**django 4.0 版本中,将url删除了! ,最后采用re_path代替!!!**<br />**附上代码**
from django.urls import re_path,include,path
from . import views
#代表正则匹配
urlpatterns = [
re_path(r"^joblist/", views.joblist, name="joblist")
]
from django.contrib import admin
from django.urls import path, re_path, include
urlpatterns = [
re_path(r"^", include('jobs.urls')),
path('admin/', admin.site.urls),
]
