国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Django | 開發(fā)】面試招聘信息網(wǎng)站(美化admin站點&添加查看簡歷詳情鏈接)

這篇具有很好參考價值的文章主要介紹了【Django | 開發(fā)】面試招聘信息網(wǎng)站(美化admin站點&添加查看簡歷詳情鏈接)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

【Django | 開發(fā)】面試招聘信息網(wǎng)站(美化admin站點&添加查看簡歷詳情鏈接)

???♂? 個人主頁: @計算機魔術師
????? 作者簡介:CSDN內容合伙人,全棧領域優(yōu)質創(chuàng)作者。
?? 推薦一款找工作神器網(wǎng)站: 寶藏網(wǎng)站 |筆試題庫|面試經(jīng)驗|實習招聘內推|

該文章收錄專欄
?—【Django | 項目開發(fā)】從入門到上線 專欄—?

一、查看簡歷詳情

【Django | 開發(fā)】面試招聘信息網(wǎng)站(美化admin站點&添加查看簡歷詳情鏈接)

由于前文所開發(fā)的簡歷投遞,并將簡歷進入到面試流程,在后臺中我們是只能看到其resume簡歷 模型candidate候選人 中相同字段信息的,關于個人能力描述,項目經(jīng)驗等都沒有錄入,此時我們希望hr能夠看到完整簡歷

1. 添加類視圖

class ResumeDetailView(DetailView):
	"""顯示簡歷詳情"""

	model = Resume
	template_name = 'resume_detail.html'
	context_object_name = 'resume'

2. 添加路由

from django.urls import re_path

from jobs import views
app_name = 'jobs'
urlpatterns = [
    re_path(r'^$', views.jobList, name='jobList'),
    re_path(r'^job/(?P<id>[\d]+)/$', views.jobItem, name='jobItem'),
    re_path(r'^resume/add/$', views.ResumeCreateView.as_view(), name='resumeForm'),
    re_path(r'^resume/(?P<pk>[\d+])/$', views.ResumeDetailView.as_view(), name='resumeDetail')
]

3. 添加模板文件

{% extends 'base.html' %}

{% block load %}
{# Load the tag library #}
{% load bootstrap4 %}

{# Load CSS and JavaScript #}
{% bootstrap_css %}
{% bootstrap_javascript jquery='full' %}

{# Display django.contrib.messages as Bootstrap alerts #}
{% bootstrap_messages %}
{% endblock %}


{% block title %}Resume_form  {% endblock  %}

<style>
		{% block style %}
      .bd-placeholder-img {
        font-size: 1.125rem;
        text-anchor: middle;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
      }

      @media (min-width: 768px) {
        .bd-placeholder-img-lg {
          font-size: 3.5rem;
        }
      }
	{% endblock %}





</style>


<!-- Custom styles for this template -->
{% block body %}
<body class="bg-light">{% endblock %}
{% block content %}

<div class="container">
	<!--header-->
	<div class="py-5 text-center">
		<img class="d-block mx-auto mb-4" src="https://p0.ssl.img.360kuai.com/t011ad70fa7f3d778f4.jpg?size=650x433"
			 alt="" width="72"
			 height="72">
		<h2>簡歷信息</h2>
	</div>
	<!--resume-->


</div>
<div style="background-color : #f4f4f0" class=" sm:mx-32 lg:mx-32 xl:mx-72 ">
	<div class="flex justify-between container mx-auto">
		<div class="w-full">
			<div class="mt-4 px-4">
				<h1 class="text-3xl font-semibold py-7 px-5">Resume in detail</h1>


				<label class="relative block p-3 border-2 border-black rounded" htmlFor="name">
  <span class="text-md font-semibold text-zinc-900" htmlFor="name">
    username
  </span>
					<textarea class="w-full bg-transparent p-0 text-sm  text-gray-500 " id="name"
							  type="text" placeholder="{{ resume.username }}"></textarea>
				</label>
				<label class="relative block p-3 border-2 border-black rounded" htmlFor="name">
  <span class="text-md font-semibold text-zinc-900" htmlFor="name">
    applicant
  </span>
					<textarea class="w-full bg-transparent p-0 text-sm  text-gray-500 " id="name"
							  type="text" placeholder="{{ resume.applicant }}"></textarea>
				</label>
				</label>
				<label class="relative block p-3 border-2 border-black rounded" htmlFor="name">
  <span class="text-md font-semibold text-zinc-900" htmlFor="name">
    city
  </span>
					<textarea class="w-full bg-transparent p-0 text-sm  text-gray-500 " id="name"
							  type="text" placeholder="{{ resume.city }}"></textarea>
				</label>
				</label>
				<label class="relative block p-3 border-2 border-black rounded" htmlFor="name">
  <span class="text-md font-semibold text-zinc-900" htmlFor="name">
    phone
  </span>
					<textarea class="w-full bg-transparent p-0 text-sm  text-gray-500 " id="name"
							  type="text" placeholder="{{ resume.phone }}"></textarea>
				</label>
				</label>
				<label class="relative block p-3 border-2 border-black rounded" htmlFor="name">
  <span class="text-md font-semibold text-zinc-900" htmlFor="name">
    email
  </span>
					<textarea class="w-full bg-transparent p-0 text-sm  text-gray-500 " id="name"
							  type="text" placeholder="{{ resume.email }}"></textarea>
				</label>
				</label>
				<label class="relative block p-3 border-2 border-black rounded" htmlFor="name">
  <span class="text-md font-semibold text-zinc-900" htmlFor="name">
    gender
  </span>
					<textarea class="w-full bg-transparent p-0 text-sm  text-gray-500 " id="name"
							  type="text" placeholder="{{ resume.gender }}"></textarea>
				</label>
				</label>
				<label class="relative block p-3 border-2 border-black rounded" htmlFor="name">
  <span class="text-md font-semibold text-zinc-900" htmlFor="name">
    apply_position
  </span>
					<textarea class="w-full bg-transparent p-0 text-sm  text-gray-500 " id="name"
							  type="text" placeholder="{{ resume.apply_position }}"></textarea>
				</label>
				</label>
				<label class="relative block p-3 border-2 border-black rounded" htmlFor="name">
  <span class="text-md font-semibold text-zinc-900" htmlFor="name">
    born_address
  </span>
					<textarea class="w-full bg-transparent p-0 text-sm  text-gray-500 " id="name"
							  type="text" placeholder="{{ resume.born_address }}"></textarea>
				</label>
				</label>
				<label class="relative block p-3 border-2 border-black rounded" htmlFor="name">
  <span class="text-md font-semibold text-zinc-900" htmlFor="name">
    bachelor_school
  </span>
					<textarea class="w-full bg-transparent p-0 text-sm  text-gray-500 " id="name"
							  type="text" placeholder="{{ resume.bachelor_school }}"></textarea>
				</label>
				</label>
				<label class="relative block p-3 border-2 border-black rounded" htmlFor="name">
  <span class="text-md font-semibold text-zinc-900" htmlFor="name">
    master_school
  </span>
					<textarea class="w-full bg-transparent p-0 text-sm  text-gray-500 " id="name"
							  type="text" placeholder="{{ resume.master_school }}"></textarea>
				</label>
				</label>
				<label class="relative block p-3 border-2 border-black rounded" htmlFor="name">
  <span class="text-md font-semibold text-zinc-900" htmlFor="name">
    doctor_school
  </span>
					<textarea class="w-full bg-transparent p-0 text-sm  text-gray-500 " id="name"
							  type="text" placeholder="{{ resume.doctor_school }}"></textarea>
				</label>
				</label>
				<label class="relative block p-3 border-2 border-black rounded" htmlFor="name">
  <span class="text-md font-semibold text-zinc-900" htmlFor="name">
    major
  </span>
					<textarea class="w-full bg-transparent p-0 text-sm  text-gray-500 " id="name"
							  type="text" placeholder="{{ resume.major }}"></textarea>
				</label>
				</label>
				<label class="relative block p-3 border-2 border-black rounded" htmlFor="name">
  <span class="text-md font-semibold text-zinc-900" htmlFor="name">
    degree
  </span>
					<textarea class="w-full bg-transparent p-0 text-sm  text-gray-500 " id="name"
							  type="text" placeholder="{{ resume.degree }}"></textarea>
				</label>
				</label>
				<label class="relative block p-3 border-2 border-black rounded" htmlFor="name">
  <span class="text-md font-semibold text-zinc-900" htmlFor="name">
    candidate_introduction
  </span>
					<p class="w-full bg-transparent p-0 text-sm  text-gray-500 " id="name"
					   type="text" placeholder="">{{ resume.candidate_introduction }}</p>
				</label>
				</label>
				<label class="relative block p-3 border-2 border-black rounded" htmlFor="name">
  <span class="text-md font-semibold text-zinc-900" htmlFor="name">
    work_experience
  </span>
					<p class="w-full bg-transparent p-0 text-sm  text-gray-500 " id="name"
					   type="text" placeholder="">{{ resume.work_experience }}
					</p>
				</label>
				</label>
				<label class="relative block p-3 border-2 border-black rounded" htmlFor="name">
  <span class="text-md font-semibold text-zinc-900" htmlFor="name">
    project_experience
  </span>
					<p class="w-full bg-transparent p-0 text-sm  text-gray-500 " id="name"
					   type="text" placeholder="">{{ resume.project_experience }}</p>
				</label>

			</div>
		</div>


	</div>
</div>

{% endblock %}


{% block footer %}
<div class="text-center p-6 bg-gray-200">
	<span>? 2021 Copyright:</span>
	<a class="text-gray-600 font-semibold" href="https://tailwind-elements.com/">Hogwarts</a>
</div>
{% endblock %}



  • 效果
    【Django | 開發(fā)】面試招聘信息網(wǎng)站(美化admin站點&添加查看簡歷詳情鏈接)

5. 添加查看簡歷詳情鏈接字段

我們在站點查看模型,展現(xiàn)的都是list_display引用的字段,其實不止可以引用字段,還可以引用方法


思路是根據(jù)其字段得到其簡歷,這里我們選擇hr可用于聯(lián)系的字段phone(電話),由于一個用戶可能投遞過多份簡歷,而這里默認展示第一份簡歷(可以優(yōu)化成ul形式或者下拉框,這里就不太深的處理了,產(chǎn)品的迭代思維,mpd(minimun product develop)產(chǎn)品思想就是快速搭建核心需求,省略大部分細枝末節(jié),先完成最核心部分,有時候在細節(jié)上處理好,會花費很多時間而導致整個項目開發(fā)緩慢)

mark_safe 是為了避免html便簽中有攻擊的代碼,所以對其進行安全檢查

from django.utils.safestring import mark_safe
@admin.register(Resume)
class ResumeAdmin(admin.ModelAdmin):
	# exclude 不包括列表.隱藏字段(系統(tǒng)自定生成默認值為其值)
	exclude = ('applicant',)
	# 展示列表
	list_display = ('id', 'username', 'applicant', 'get_resume_detail','phone', 'create_time', 'modify_time')
	list_display_links = ('username',)

	# obj是點擊的單個對象,queryset是選中的多個對象
	def get_resume_detail(self, obj):
		if not obj.phone:
			return ''
		resumes = Resume.objects.filter(phone=obj.phone)
		if resumes:
			return mark_safe('<a href="/resume/%s" target="_black">%s</a>' % (resumes.first().id, "查看簡歷詳情"))
		return ''
	# show_description 是同模型中 verbose_name 一樣的存在,返回在頁面顯示的字符串
	get_resume_detail.short_description = '查看簡歷詳情'
	# get_resume_detail.allow_tags = True
  • 效果
    【Django | 開發(fā)】面試招聘信息網(wǎng)站(美化admin站點&添加查看簡歷詳情鏈接)

二、優(yōu)化admin站點login頁面

1) 使用管理站點主題

往往在實際中,我們需要美化admin后臺,這時我們可以選擇django已有的主題樣式配置,并在基礎上按照需求重寫模板。

  • 這里我們選擇admin后臺主題 風格相比最好看的simpleui主題, 安裝配置見官方文檔
    https://simpleui.72wo.com/docs/simpleui/QUICK.html#%E6%A8%A1%E6%9D%BF ( 官方文檔很詳細)

【Django | 開發(fā)】面試招聘信息網(wǎng)站(美化admin站點&添加查看簡歷詳情鏈接)

【Django | 開發(fā)】面試招聘信息網(wǎng)站(美化admin站點&添加查看簡歷詳情鏈接)

  • 并且simpleui主題有一個很好的地方就是,在詳情頁的路由會被直接使用標簽整個引入整個頁面保證了管理員在管理站點的同時進入非admin站點頁面

【Django | 開發(fā)】面試招聘信息網(wǎng)站(美化admin站點&添加查看簡歷詳情鏈接)

2) 重寫模板

我們想要按照自己需求修改頁面,只需要在對應主題安裝包中找到對應頁面放到templates對應目錄即可,他會覆蓋對應文件,(原理:django 查找原理是按照當前項目優(yōu)先查找,再去安裝的應用的查找,所以此時會覆蓋原來的模板文件,注意!:此時我只需要復制想要修改頁面,不需要全部復制過來,避免到時候出現(xiàn)模板多余覆蓋)

  • 這里以登錄頁面為例:

【Django | 開發(fā)】面試招聘信息網(wǎng)站(美化admin站點&添加查看簡歷詳情鏈接)

參考文獻:
重寫admin站點模板
mark_safe&format_html
short_descript
allow_tags已過時,使用mark_safe保證安全文章來源地址http://www.zghlxwxcb.cn/news/detail-419317.html

			        ??到這里,如果還有什么疑問??
		??歡迎私信博主問題哦,博主會盡自己能力為你解答疑惑的!??
			??如果對你有幫助,你的贊是對博主最大的支持?。??

到了這里,關于【Django | 開發(fā)】面試招聘信息網(wǎng)站(美化admin站點&添加查看簡歷詳情鏈接)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【Django】招聘面試管理01 創(chuàng)建項目&運行項目

    【Django】招聘面試管理01 創(chuàng)建項目&運行項目

    跟著視頻學一學,記錄一下。 照著步驟創(chuàng)建虛擬環(huán)境,安裝Django等依賴包,創(chuàng)建項目:【Django學習】01 項目創(chuàng)建、結構及命令 項目結構: 訪問網(wǎng)頁( 127.0.0.1:8000 或 指定IP:8000 ),可以看到Django的初始頁面: 項目運行之后,Django使用默認的SQLite數(shù)據(jù)庫,會在項目的根目錄下

    2024年02月13日
    瀏覽(25)
  • 基于招聘網(wǎng)站的大數(shù)據(jù)專業(yè)相關招聘信息建模與可視化分析

    基于招聘網(wǎng)站的大數(shù)據(jù)專業(yè)相關招聘信息建模與可視化分析

    需要本項目的可以私信博主?。。?在大數(shù)據(jù)時代背景下,數(shù)據(jù)積累導致大數(shù)據(jù)行業(yè)的人才需求快速上升,大量的招聘信息被發(fā)布在招聘平臺上。深入研究這些信息能幫助相關人士更好地理解行業(yè)動態(tài),并對其未來發(fā)展進行預測。本文主要通過分析51job網(wǎng)站上的大數(shù)據(jù)職位招聘

    2024年02月09日
    瀏覽(24)
  • 【爬蟲系列】Python爬蟲實戰(zhàn)--招聘網(wǎng)站的職位信息爬取

    【爬蟲系列】Python爬蟲實戰(zhàn)--招聘網(wǎng)站的職位信息爬取

    1. 需求分析 從網(wǎng)上找工作,大家一般都會通過各種招聘網(wǎng)站去檢索相關信息,今天利用爬蟲采集招聘網(wǎng)站的職位信息,比如崗位名稱,崗位要求,薪資,公司名稱,公司規(guī)模,公司位置,福利待遇等最為關心的內容。在采集和解析完成后,使用 Excel 或 csv 文件保存。 2. 目標

    2024年02月02日
    瀏覽(29)
  • 【爬蟲系列】使用Selenium模塊采集招聘網(wǎng)站的職位信息(1)

    【爬蟲系列】使用Selenium模塊采集招聘網(wǎng)站的職位信息(1)

    在上篇演示使用了 Request 模塊采集智聯(lián)招聘網(wǎng)站?PC 端網(wǎng)頁的招聘信息,結果遇到了比較隱蔽的反爬限制(當時還不清楚什么原因導致的),看來使用該模塊這條路暫時走不通了, 打算換用 Selenium 模塊試試,并嘗試尋找該網(wǎng)站反爬限制的具體原因 。 一、環(huán)境準備 Google 瀏覽

    2024年02月20日
    瀏覽(26)
  • 基于python爬蟲技術的崗位招聘信息采集系統(tǒng)的設計與實現(xiàn)(Django框架)

    ?博主介紹 :黃菊華老師《Vue.js入門與商城開發(fā)實戰(zhàn)》《微信小程序商城開發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學生畢業(yè)設計教育和輔導。 所有項目都配有從入門到精通的基礎知識視頻課程,免費 項目配有對應開發(fā)文檔、開題報告、任務書、

    2024年02月02日
    瀏覽(30)
  • 基于Python的招聘網(wǎng)站信息爬取與數(shù)據(jù)分析

    基于Python的招聘網(wǎng)站信息爬取與數(shù)據(jù)分析

    文末獲取資源,收藏關注不迷路 隨著社會經(jīng)濟的快速發(fā)展,人們的生活水平得到了顯著提高,但隨之而來的社會問題也越來越多。其中最為顯著的就是就業(yè)問題。為此,招聘信息的展示也變得越來越為重要。但是在大量的招聘信息中,人們在提取自己最想要的信息時變得不那

    2024年02月04日
    瀏覽(29)
  • 基于Python的51job(前程無憂)招聘網(wǎng)站數(shù)據(jù)采集,通過selenium繞過網(wǎng)站反爬,可以采集全國各地數(shù)十萬條招聘信息

    使用Python編程語言和Selenium庫來實現(xiàn)自動化的網(wǎng)頁操作,從而實現(xiàn)登錄、搜索和爬取職位信息的功能。 首先,導入了所需的庫,包括time用于處理時間,selenium用于模擬瀏覽器操作,csv用于寫入CSV文件,BeautifulSoup用于解析網(wǎng)頁數(shù)據(jù)。然后,定義了一個名為login的函數(shù),該函數(shù)接

    2024年01月19日
    瀏覽(38)
  • 基于python重慶招聘信息數(shù)據(jù)可視化分析全屏大屏系統(tǒng)設計與實現(xiàn)(django框架)

    ?博主介紹 :黃菊華老師《Vue.js入門與商城開發(fā)實戰(zhàn)》《微信小程序商城開發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學生畢業(yè)設計教育和輔導。 所有項目都配有從入門到精通的基礎知識視頻課程,免費 項目配有對應開發(fā)文檔、開題報告、任務書、

    2024年02月04日
    瀏覽(24)
  • 基于python四川成都招聘信息數(shù)據(jù)可視化分析全屏大屏系統(tǒng)設計與實現(xiàn)(django框架)

    ?博主介紹 :黃菊華老師《Vue.js入門與商城開發(fā)實戰(zhàn)》《微信小程序商城開發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學生畢業(yè)設計教育和輔導。 所有項目都配有從入門到精通的基礎知識視頻課程,免費 項目配有對應開發(fā)文檔、開題報告、任務書、

    2024年02月04日
    瀏覽(18)
  • 程序員崗位招聘信息數(shù)據(jù)可視化分析全屏大屏系統(tǒng)設計與實現(xiàn)(python的django框架)

    ?博主介紹 :黃菊華老師《Vue.js入門與商城開發(fā)實戰(zhàn)》《微信小程序商城開發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學生畢業(yè)設計教育和輔導。 所有項目都配有從入門到精通的基礎知識視頻課程,免費 項目配有對應開發(fā)文檔、開題報告、任務書、

    2024年02月05日
    瀏覽(36)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包