Django后台项目开发实战四

用户可以浏览工作列表以及工作详情

第四阶段

在 jobs 文件夹下创建 templates 文件夹,在里面创建 base.html 网页,内容如下

<!-- base.html -->
<div style="text-align:center;"><h1 style = "margin:auto; width:50%;">开放职位</h1>
</div>{% block content %}
{% endblock %}

再创建 joblist.html 网页,内容如下

{% 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>No jobs are avaiable.</p>
{% endif %}{% endblock %}

然后打开 view.py 文件,创建职位列表,注册到网页

from django.shortcuts import render
from django.http import HttpResponse
from django.template import loaderfrom jobs.models import Job,Cities,JobTypesdef joblist(requset):job_list = Job.objects.order_by('job_type')template = loader.get_template('joblist.html')context = {'job_list' : job_list}for job in job_list:job.city_name = Cities[job.job_city]job.type_name = JobTypes[job.job_type]return HttpResponse(template.render(context))

在 jobs 文件夹下创建 urls.py 文件,添加 path

from django.urls import path
from jobs import viewsurlpatterns = [path('joblist/',views.joblist, name="joblist")
]

最后在 recruitment 文件夹下的 urls.py 添加路由,完成配置

from django.contrib import admin
from django.urls import path
from django.conf.urls import includeurlpatterns = [path('',include("jobs.urls")),path('admin/', admin.site.urls)
]

现在职位列表可以展示出来了,运行效果图:

接下来我们完成显示职位的详细描述

和上面的流程一样,先添加网页模板,在 templates 文件夹里新建 job.html 网页

{% extends 'base.html' %}
{% block content %}<div style="margin: auto; width: 50%;"><a href="/joblist" style="color: blue">返回职位列表</a>
{% if job %}<div class="position_name"><h2>岗位名称:{{ job.job_name }}</h2>城市:{{ job.city_name }}</div><hr><div class="position_responsibility" style="width: 600px;"><h3>岗位职责:</h3><pre style="font-size: 16px">{{ job.job_responsibility }}</pre></div><br><hr><div class="position_requirement" style="width: 600px;"><h3>任职要求:</h3><pre style="font-size: 16px">{{ job.job_requirement }}</pre></div><br><div class="apply_position"><input type="button" style="width: 120px;background-color: lightblue;" value="申请"/></div>
{% else %}<p>职位不存在</p>
{% endif %}
</div>{% endblock %}

然后打开 view.py 文件,添加职位详细信息,注册到网页

from django.http import Http404def detail(request,job_id):try:job = Job.objects.get(pk=job_id)job.city_name = Cities[job.job_city][1]except Job.DoesNotExist:raise Http404("Job does not exist")return render(request,'job.html',{'job':job})

然后打开 urls.py 文件,添加 path

urlpatterns = [...path('job/<int:job_id>/',views.detail, name="detail")
]

现在职位详情页可以展示出来了,运行效果图:

 第四阶段就完成啦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/660762.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[软件工具]批量根据文件名查找PDF文件复制到指定的地方,如何批量查找文件复制,多个文件一起查找复制

多个文件目录下有多个PDF, 如何根据文件名一个清单&#xff0c;一次性查找多个PDF复制保存 如图所示下面有7个文件夹&#xff0c;每个文件夹里面有几百上千PDF文件 如何从上千个PDF文件中一次性快速找到我们要的文件呢 &#xff1f; 我们需要找到文件名是这样的PDF&#xff0…

《QDebug 2024年4月》

一、Qt Widgets 问题交流 1. 二、Qt Quick 问题交流 1.Rectangle 位置或大小有非整数&#xff0c;开启抗锯齿后看起来有点糊 测试代码&#xff1a; Rectangle {x: 100.3y: 100.4width: 100.5height: 30.5border.color: "#00A7AE"// 开启 antialiasing 后&#xf…

Microsoft Universal Print 与 SAP 集成教程

引言 从 SAP 环境打印是许多客户的要求。例如数据列表打印、批量打印或标签打印。此类生产和批量打印方案通常使用专用硬件、驱动程序和打印解决方案来解决。 Microsoft Universal Print 是一种基于云的打印解决方案&#xff0c;它允许组织以集中化的方式管理打印机和打印机驱…

ARM功耗管理背景及挑战

安全之安全(security)博客目录导读

三. Django项目之电商购物商城 -- 校验用户名 , 数据入库

Django项目之电商购物商城 – 校验用户名 , 数据入库 需要开发文档和前端资料的可私聊 一. 路由匹配获得用户名 在注册时 , 用户输入用户名 , 通过ajax请求发送到服务器 , 在路由中设置对应url , 响应视图 , 将用户输入的用户名传入视图 , 与数据库进行校验检查用户名是否重…

Linux 手动部署JDK21 环境

1、下载包&#xff08;我下载的是tar) https://www.oracle.com/cn/java/technologies/downloads/#java21 完成后进行上传 2、检查已有JDK&#xff0c;并删除&#xff08;我原有是jdk8&#xff09; rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps3、清理掉 profile中的j…

acwing算法提高之数据结构--平衡树Treap

目录 1 介绍2 训练 1 介绍 本博客用来记录使用平衡树求解的题目。 插入、删除、查询操作的时间复杂度都是O(logN)。 动态维护一个有序序列。 2 训练 题目1&#xff1a;253普通平衡树 C代码如下&#xff0c; #include <cstdio> #include <cstring> #include …

sgg_ssm学习--前端搭建遇到的问题

目录 问题1&#xff1a;由于我是解压缩软件nodejs&#xff0c;没有添加系统路径 解决&#xff1a;添加nodejs的路径 到系统 path中 问题2&#xff1a;vscode 终端输入npm命令 报错 解决(如图所示在vscode打开前端工程&#xff0c;终端修改如下配置)&#xff1a; 问题1&…

GitLab常用指令!(工作中常用的)

目录 克隆代码创建分支切换分支将代码提交到分支当中Merge合并 克隆代码 复制完地址&#xff0c;打开Git Bash&#xff0c;然后 git clone “复制的地址”创建分支 创建new_test分支 git branch new_test切换分支 切换到new_test分支 git checkout new_test将代码提交到分…

FLUKE万用表17B+的电压档最大内阻

项目中遇到一个测量兆欧级别电阻两端电压的问题&#xff0c;发现按照上图中的电路搭建出来的电路测得的电压为8.25V左右&#xff0c;按理说应为9V才对&#xff0c;后来想到万用表测量电压档不同的档位会有不同内阻&#xff0c;测量的电阻应远小于万用表电压档内阻才有效。本次测…

运行DeepSORT_YOLOv5_Pytorch时出现的问题

文章目录 前言问题1&#xff1a;Loaderyaml.FullLoader问题2&#xff1a;utils. -> yolov5.utils.问题3&#xff1a;np.float -> float问题4&#xff1a;np.int -> int问题5&#xff1a;ImportError: cannot import name time_synchronized from yolov5.utils.torch_u…

每日OJ题_DFS爆搜深搜回溯剪枝②_力扣526. 优美的排列

目录 力扣526. 优美的排列 解析代码 力扣526. 优美的排列 526. 优美的排列 难度 中等 假设有从 1 到 n 的 n 个整数。用这些整数构造一个数组 perm&#xff08;下标从 1 开始&#xff09;&#xff0c;只要满足下述条件 之一 &#xff0c;该数组就是一个 优美的排列 &#…