diff --git a/ipv6work/urls.py b/ipv6work/urls.py index 034e7bf..0238e72 100644 --- a/ipv6work/urls.py +++ b/ipv6work/urls.py @@ -14,8 +14,9 @@ Including another URLconf 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ from django.contrib import admin -from django.urls import path +from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), + path('', include('jobs.urls')) ] diff --git a/jobs/admin.py b/jobs/admin.py index 8c38f3f..0a3ca75 100644 --- a/jobs/admin.py +++ b/jobs/admin.py @@ -1,3 +1,5 @@ from django.contrib import admin -# Register your models here. +from .models import Job, Application, Tag + +admin.site.register([Job, Application, Tag]) \ No newline at end of file diff --git a/jobs/models.py b/jobs/models.py index 83702ef..160c275 100644 --- a/jobs/models.py +++ b/jobs/models.py @@ -29,7 +29,7 @@ class Job(models.Model): created = models.DateTimeField(auto_now_add=True) updated = models.DateTimeField(auto_now=True) - expires = models.DateTimeField(default=after_30_days) + expires = models.DateTimeField(default=after_30_days, editable=False) closed = models.BooleanField(default=False) close_reason = models.CharField( diff --git a/jobs/templates/base.html b/jobs/templates/base.html new file mode 100644 index 0000000..780fd50 --- /dev/null +++ b/jobs/templates/base.html @@ -0,0 +1,71 @@ + + + + + + + + + + + {% block title %}{% endblock %} + + +
+
IPv6.Work
+ + Login +
+ +
+ {% block body_content %}{% endblock %} + + +
+ + + + + + + \ No newline at end of file diff --git a/jobs/templates/jobs/index.html b/jobs/templates/jobs/index.html new file mode 100644 index 0000000..026511a --- /dev/null +++ b/jobs/templates/jobs/index.html @@ -0,0 +1,54 @@ +{% extends 'base.html' %} +{% block body_content %} +
+

Latest jobs

+

+
+
+
+
+

Free

+
+
+

$0 / mo

+
    +
  • 10 users included
  • +
  • 2 GB of storage
  • +
  • Email support
  • +
  • Help center access
  • +
+ +
+
+
+
+

Pro

+
+
+

$15 / mo

+
    +
  • 20 users included
  • +
  • 10 GB of storage
  • +
  • Priority email support
  • +
  • Help center access
  • +
+ +
+
+
+
+

Enterprise

+
+
+

$29 / mo

+
    +
  • 30 users included
  • +
  • 15 GB of storage
  • +
  • Phone and email support
  • +
  • Help center access
  • +
+ +
+
+
+{% endblock %} \ No newline at end of file diff --git a/jobs/templates/jobs/job_list.html b/jobs/templates/jobs/job_list.html new file mode 100644 index 0000000..eb7fac6 --- /dev/null +++ b/jobs/templates/jobs/job_list.html @@ -0,0 +1,25 @@ +{% extends 'base.html' %} +{% block body_content %} +
+
+
+

Latest jobs

+

+
+ {% for job in jobs %} +
+
+

{{ job.title }}

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

{{ job.description }}

+ Apply +
+
+ {% endfor %} +
+
+{% endblock %} \ No newline at end of file diff --git a/jobs/urls.py b/jobs/urls.py new file mode 100644 index 0000000..e2bbe6a --- /dev/null +++ b/jobs/urls.py @@ -0,0 +1,9 @@ +from django.urls import path + +from . import views + +app_name = 'jobs' +urlpatterns = [ + path('', views.Index.as_view(), name='index'), + path('jobs/', views.JobList.as_view(), name='jobs'), +] \ No newline at end of file diff --git a/jobs/views.py b/jobs/views.py index 91ea44a..41dc36e 100644 --- a/jobs/views.py +++ b/jobs/views.py @@ -1,3 +1,13 @@ from django.shortcuts import render +from django.views.generic import TemplateView, ListView + +from .models import Job + +class Index(TemplateView): + template_name = 'jobs/index.html' + + +class JobList(ListView): + context_object_name = 'jobs' + model = Job -# Create your views here.