Django笔记——02实现招聘系统职位管理

一、产品需求

1、管理员能够发布职位
2、匿名用户(候选人)能够浏览职位
3、匿名用户能够投递职位


创建一个应用:

python manage.py startapp 应用名

每次创建一个应用要记得在INSTALLED_APPS在添加应用名


二、编写Model

继承models.Model,编写了model之后,将编写的model注册到admin里面。数据的同步也是使用makemigrations和migrate去同步数据。

三、admin注册

Job是创建的model

JobAdmin是模型的管理类,是对model在admin管理后台上自定义的一些属性。继承的是admin.ModelAdmin

admin.site.register(Job,JobAdmin)

模型管理类用到的属性和方法

  • list_display:列表页展示的字段
  • exclude:修改增加页隐藏的字段
  • def save_model:ModelAdmin这个父类定义的方法,可以在模型保存前做一些操作

四、模板

使用block指令定义了页面内容块,块的名称为content

{% block content %}
{% endblock %}

继承用:

{% extends 'base HTML名称' %}

五、view视图层

可以用函数定义,也可以用视图的类去定义,匿名用户查看职位列表:

def jobList(request):
    job_list = Job.objects.order_by('job_type')  #取列表页,按职位列表排序
    template = loader.get_template('joblist.html')#加载模板,用模板的加载器来加载
    context = {'job_lixt':job_list} #定义一个上下文,上下文用map定义

    for job in job_list:  #遍历这个职位列表
        job.city_name = Cities[job.job_city]  #把城市和职位类型转换成一个字符串
        job.job_type = JobTypes[job.job_type]

    return HttpResponse(template.render(context)) #用模板render方法把模板上下文展现给用户

把定义的view里面定义的jobList视图添加到URL路径中。

from django.conf.urls import url
from django.contrib import admin
from django.urls import path

from jobs import views

urlpatterns = [
    url(r"^jobList/",views.jobList, name='jobList')
]

匿名用户浏览职位详情
显示详情页的函数:

def 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

 url(r"^job/(?P<job_id>\d+)/$", views.detail, name='detail')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值