python - 自定义 django 管理员
问题描述
这是我的测验模型,
class Quiz(Base):
name = models.CharField(max_length=512, null=True, blank=True)
genre = models.ForeignKey(Genre, on_delete=models.CASCADE, default="", )
这是一个问题,
class Question(Base):
text = models.TextField()
quiz = models.ForeignKey(Quiz, on_delete=models.CASCADE, null=True)
image = models.ImageField(upload_to=question_image_path, null=True)
这是一个答案,
class Answer(Base):
text = models.TextField(null=True)
question = models.ForeignKey(Question, on_delete=models.CASCADE, null=True, blank=True)
correct = models.BooleanField(default=False)
我想在一页中显示整个测验创建表单,而不是常规的 django 管理显示。我如何自定义 django admin 来执行此操作。
解决方案
首先打开您的 urls.py 文件并根据需要编写路径:
from django.urls import path
from . import views
path('', views.quiz, name = 'quiz' ),
打开您的 views.py 文件并编写有关您的测验的函数:
from django.shortcuts import render
from .models import Quiz
def quiz(request):
allQuiz = Quiz.objects.all()
context = {
'quizes': allQuiz
}
return render(request, '<appNameInsideYourTemplatesDirectry>/quiz.html', context )
现在,在您的模板中创建 quiz.html,如下所示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<ul>
{% for quiz in quizes %}
<li>{{quiz}}</li>
{% endfor %}
</ul>
</body>
</html>
推荐阅读
- python - 如何引用 pandas 变量名来命名 numpy 数组?
- marklogic - MarkLogic - 基于 json 路径过滤的 CTS 查询
- mercurial - 如何将提交从一个分支复制到另一个分支?
- c# - 如何修复“无法将控制器转换为控制器类型错误” - ApiController 问题
- html - 尝试缩放页面时出现问题
- html - 将按钮保持在固定位置,与窗口大小无关
- vba - 使用 VBA 为 Azure Blob 存储生成 SAS 令牌
- go-cd - 从日志中找出启动问题
- angular - 如何获取点击列表项的上下文以在 Nativescript TS 的另一个页面中显示详细信息
- python - 使用 mysql-python 连接器时出现 SSL 连接错误