diff --git a/jobs/models.py b/jobs/models.py index 9d21339..07a3673 100644 --- a/jobs/models.py +++ b/jobs/models.py @@ -1,5 +1,6 @@ from django.db import models from django.contrib.auth import get_user_model +from django.urls import reverse_lazy from .date_utils import after_30_days @@ -48,6 +49,9 @@ class Job(models.Model): def __str__(self): return self.title + def get_absolute_url(self): + return reverse_lazy("jobs:job_detail", args=[self.id]) + class Question(models.Model): ''' A model to hold screening questions for a job post ''' diff --git a/jobs/templates/jobs/job_detail.html b/jobs/templates/jobs/job_detail.html new file mode 100644 index 0000000..dc8d05f --- /dev/null +++ b/jobs/templates/jobs/job_detail.html @@ -0,0 +1,30 @@ +{% extends 'base.html' %} {% block body_content %} +
+
+
+

+ {{ job.title }} +

+

+
+
+
+
+ {% for tag in job.tags.all %} + {{tag.name}} + {% endfor %} +
+

{{ job.description }}

+ {% for question in job.questions.all %} + {% if forloop.counter0 == 0 %} +
Screening Questions:
+ {% endif %} + - {{question.name}}
+ {% endfor %} +
+ Apply +
+
+
+
+{% endblock %} \ No newline at end of file diff --git a/jobs/templates/jobs/job_list.html b/jobs/templates/jobs/job_list.html index eb7fac6..66a8e06 100644 --- a/jobs/templates/jobs/job_list.html +++ b/jobs/templates/jobs/job_list.html @@ -9,7 +9,9 @@ {% for job in jobs %}
-

{{ job.title }}

+

+ {{ job.title }} +

{% for tag in job.tags.all %} {{tag.name}} diff --git a/jobs/urls.py b/jobs/urls.py index 65acb2c..d275e68 100644 --- a/jobs/urls.py +++ b/jobs/urls.py @@ -8,6 +8,7 @@ urlpatterns = [ path('', views.Index.as_view(), name='index'), path('jobs/create/', views.JobCreate.as_view(), name='create'), path('jobs/', views.JobList.as_view(), name='list'), + path('jobs//detail/', views.JobDetail.as_view(), name='job_detail'), ] diff --git a/jobs/views.py b/jobs/views.py index 9bcb834..4a8dd47 100644 --- a/jobs/views.py +++ b/jobs/views.py @@ -1,7 +1,7 @@ from django.urls import reverse_lazy from django.http import HttpResponseRedirect from django.views.generic import ( - TemplateView, ListView, CreateView + TemplateView, ListView, CreateView, DetailView ) from .models import Job @@ -17,6 +17,11 @@ class JobList(ListView): model = Job +class JobDetail(DetailView): + context_object_name = 'job' + model = Job + + class JobCreate(CreateView): model = Job form_class = JobForm