work on json requests
This commit is contained in:
@@ -1 +1,3 @@
|
|||||||
media/
|
media/
|
||||||
|
__pycache__
|
||||||
|
.vscode/
|
||||||
@@ -4,6 +4,8 @@ from django.utils import timezone
|
|||||||
from django.core.files.storage import FileSystemStorage
|
from django.core.files.storage import FileSystemStorage
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
|
||||||
|
from django.urls import reverse
|
||||||
|
|
||||||
image_storage = FileSystemStorage(
|
image_storage = FileSystemStorage(
|
||||||
# Physical file location ROOT
|
# Physical file location ROOT
|
||||||
location=u"{0}/anatomy/".format(settings.MEDIA_ROOT),
|
location=u"{0}/anatomy/".format(settings.MEDIA_ROOT),
|
||||||
@@ -176,6 +178,12 @@ class Exam(models.Model):
|
|||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
|
def get_exam_name(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
|
def get_json_url(self):
|
||||||
|
return reverse('anatomy:exam_json', args=(self.pk,))
|
||||||
|
|
||||||
|
|
||||||
class UserAnswer(models.Model):
|
class UserAnswer(models.Model):
|
||||||
question = models.ForeignKey(AnatomyQuestion,
|
question = models.ForeignKey(AnatomyQuestion,
|
||||||
|
|||||||
+2
-2
@@ -16,9 +16,9 @@ urlpatterns = [
|
|||||||
path("exam/<int:pk>/", views.exam_overview, name="exam_overview"),
|
path("exam/<int:pk>/", views.exam_overview, name="exam_overview"),
|
||||||
path("exam/<int:pk>/scores", views.exam_scores_cid,
|
path("exam/<int:pk>/scores", views.exam_scores_cid,
|
||||||
name="exam_scores_cid"),
|
name="exam_scores_cid"),
|
||||||
path("exam/<int:pk>/json", views.exam_json, name="exam_json"),
|
|
||||||
path("submit_answers", views.postExamAnswers, name="exam_answers_submit"),
|
path("submit_answers", views.postExamAnswers, name="exam_answers_submit"),
|
||||||
path("exam/", views.exam_list, name="exam_list"),
|
path("exam/", views.exam_list, name="exam_list"),
|
||||||
path("active_exams/", views.active_exams, name="active_exams"),
|
path("exam/json/", views.active_exams, name="active_exams"),
|
||||||
|
path("exam/json/<int:pk>", views.exam_json, name="exam_json"),
|
||||||
path("ajax/exam/flag/", views.flag_question, name="flag_question"),
|
path("ajax/exam/flag/", views.flag_question, name="flag_question"),
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -374,7 +374,21 @@ def mark(request, pk, sk):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def active_exams(request):
|
def active_exams(request):
|
||||||
|
exams = Exam.objects.all()
|
||||||
|
print(exams)
|
||||||
|
|
||||||
|
active_exams = {
|
||||||
|
"exams" : []
|
||||||
|
}
|
||||||
|
|
||||||
|
for exam in exams:
|
||||||
|
if exam.active:
|
||||||
|
active_exams["exams"].append({
|
||||||
|
"name": exam.get_exam_name(),
|
||||||
|
"url": request.build_absolute_uri(exam.get_json_url()),
|
||||||
|
})
|
||||||
|
|
||||||
|
return JsonResponse(active_exams)
|
||||||
|
|
||||||
def exam_json(request, pk):
|
def exam_json(request, pk):
|
||||||
exam = get_object_or_404(Exam, pk=pk)
|
exam = get_object_or_404(Exam, pk=pk)
|
||||||
|
|||||||
Reference in New Issue
Block a user