Per Assignment Details page has been created

parent 15477754
from django.db import models from django.db import models
from django.urls import reverse
# Create your models here. # Create your models here.
class Course(models.Model): class Course(models.Model):
...@@ -18,6 +19,9 @@ class Assignment(models.Model): ...@@ -18,6 +19,9 @@ class Assignment(models.Model):
) )
perfect_score = models.IntegerField() perfect_score = models.IntegerField()
def get_absolute_url(self):
return reverse('Assignments:assignments-details', kwargs={'pk': self.pk})
@property @property
def passing_score(self): def passing_score(self):
return int(self.perfect_score*0.60) return int(self.perfect_score*0.60)
\ No newline at end of file
{% extends 'base.html' %}
{% load static %}
{% block title %} {{ object.name }}{% endblock %}
{% block content %}
<h1>{{ object.name }}</h1>
<h2>{{ object.course }}</h2>
<ul>
<li>Description: {{ object.description }}</li>
<li>Perfect Score: {{ object.perfect_score }}</li>
<li>Passing Score: {{ object.passing_score }}</li>
</ul>
<button>Edit Assignment</button>
{% endblock %}
\ No newline at end of file
{% extends 'base.html' %}
{% load static %}
{% block title %} Widget's Assignments {% endblock %}
{% block content %}
<h1>Welcome to Widget's Assignments </h1>
<ul>
{% for object in assignments %}
<li>
<a href="{{ object.get_absolute_url }}">{{ object.name }}</a>
</li>
{% endfor %}
</ul>
<button>
New Assignment
</button>
{% endblock %}
\ No newline at end of file
from django.urls import path from django.urls import path
from .views import index from .views import (AssignmentView,
AssignmentsDetailView)
urlpatterns = [ urlpatterns = [
path('', index, name="index") path('assignment/', AssignmentView, name="index"),
path('<pk>/details/', AssignmentsDetailView.as_view(), name='assignment-detail')
] ]
app_name = "Assignments" app_name = "Assignments"
\ No newline at end of file
from django.shortcuts import render from django.shortcuts import render
from django.http import HttpResponse from django.http import HttpResponse
from django.views.generic.detail import DetailView
from .models import Assignment, Course from .models import Assignment, Course
# Create your views here. # Create your views here.
def AssignmentView(request):
assignments = Assignment.objects.all()
context = {'assignments': assignments}
return render(request, 'Assignments/assignments.html', context)
class AssignmentsDetailView(DetailView):
model = Assignment
template_name = 'Assignments/assignment-details.html'
'''
def index(request): def index(request):
head_string = "<h1>Widget's Assignment Page</h1>" head_string = "<h1>Widget's Assignment Page</h1>"
body_string = "" body_string = ""
...@@ -17,3 +27,4 @@ def index(request): ...@@ -17,3 +27,4 @@ def index(request):
html_string = '<html><head>{}</head><body>{}</body></html>'.format(head_string, body_string) html_string = '<html><head>{}</head><body>{}</body></html>'.format(head_string, body_string)
return HttpResponse(html_string) return HttpResponse(html_string)
'''
\ No newline at end of file
No preview for this file type
...@@ -62,7 +62,7 @@ ROOT_URLCONF = 'widget_gitgud.urls' ...@@ -62,7 +62,7 @@ ROOT_URLCONF = 'widget_gitgud.urls'
TEMPLATES = [ TEMPLATES = [
{ {
'BACKEND': 'django.template.backends.django.DjangoTemplates', 'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [], 'DIRS': [os.path.join(BASE_DIR, 'template')],
'APP_DIRS': True, 'APP_DIRS': True,
'OPTIONS': { 'OPTIONS': {
'context_processors': [ 'context_processors': [
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment