#python #html #django
#python #HTML #django
Вопрос:
Я пытаюсь отобразить все названия курсов в моей модели курса,
{% for course in object_list%}
<li>{{ course.courseName}} </li>
{% endfor %}
</ol>
Вот фрагмент с HTML-страницы, на которой я пытаюсь их отобразить.
вот мой models.py
# Create your models here.
SEMESTER_CHOICES = (
("SPR 21", "SPR 21"),
("FA 21", "FA 21"),
("SPR 22", "SPR 22"),
("FA 22", "FA 22"),
("SPR 23", "SPR 23"),
("FA 23", "FA 23"),
("SPR 24 ", "SPR 24"),
("FA 24", "FA 24"),
)
PROGRAM_CHOICES = (
("Architectural Science","Architectural Science"),
("Civil Engineering","Civil Engineering"),
("Computer Information Technology","Computer Information Technology"),
("Computer Science","Computer Science"),
("Construction Management","Construction Management"),
("Electrical Engineering","Electrical Engineering"),
("Engineering Technology Management","Engineering Technology Management"),
("Manufacturing Engineering","Manufacturing Engineering"),
("Mechanical_Engineering","Mechanical_Engineering")
)
# declaring a Student Model
class AddCourse(models.Model):
program = models.CharField(
max_length = 20,
choices = PROGRAM_CHOICES,
default = 'Architecural Science'
)
courseName = models.CharField(max_length=250)
semester = models.CharField(
max_length = 20,
choices = SEMESTER_CHOICES,
default = 'SPR 21'
)
preRequisites = models.TextField()
def __str__ (self):
return self.courseName
и вот мой views.py
from django.shortcuts import render
from .models import AddCourse
from django.contrib.auth.decorators import login_required
# Create your views here.
@login_required
def currentpathway(request):
return render(request, "SEAS_Course_Planner/home.html")
@login_required
def newpathway(request):
return render(request, "SEAS_Course_Planner/newpathway.html")
Ничего не выводится, и я считаю, что список объектов пуст, но я добавил курсы через страницу администратора, любые предложения. Я новичок в Django, как вы можете сказать, хахаха.
Комментарии:
1. можете ли вы также публиковать свои мнения?
2.
{% for course in object_list%}
должно быть{% for course in object_list %}
— пустое пространство перед%
важно, не так ли?3. хорошо, я добавил views.py , а также пространство — оно все еще не отображает их.
Ответ №1:
Я думаю, вам нужно просмотреть документы с самого начала.
Здесь, на ваш взгляд, сначала вам нужно вернуть набор запросов из вашей модели курса и передать набор запросов в качестве контекста в вашем шаблоне.
def currentpathway(request):
courses_list = AddCourse.objects.all()
context = {'courses_list':courses_list}
return render(request, "SEAS_Course_Planner/home.html", context)
Теперь в шаблоне:
{% for course in courses_list %}
<li>{{ course.courseName}} </li>
{% endfor %}
Комментарии:
1. Хорошо, я пошел дальше и добавил это к представлениям, а также к шаблону, однако я все еще не вижу курсов, какие-либо другие идеи?
2. какое представление отображает ваш шаблон ( шаблон, в котором вы пытаетесь показать курсы )? @NightBeezy
3. на самом деле это новый путь, а не текущий путь, но я пошел дальше и добавил его туда. @arjun
4. предполагая, что я правильно понимаю ваш вопрос, я пытаюсь отобразить его на моем newpathway.html файл @arjun
5. «bash: синтаксическая ошибка возле неожиданного токена`addCourse.objects.all'» @arjun, я получил эту синтаксическую ошибку, когда поместил ее в консоль, я не совсем уверен, почему.