Моя цель - создать гиперссылки, которые бы добавляли ключевое слово в функцию views, которая затем перетаскивала бы запрос из моей базы данных на страницу.
ЦЕЛЬ: Нажмите на гиперссылку, которая даст мне запрос по конкретному мажору.
Я пытался использовать конвертер,
Таким образом, цель была: 1 - первый шаг, 3 - последний шаг.
Это возможно?
1) Click the hyperlink -> Major = Accounting
2)URL.py
path(<str:Accounting/, views.Major, name=Major)
3)Views.py
def Major(request, Accounting):
major_choice = professor.objects.filter(Major = Accounting)
return render(request, 'locate/major.html', {'major_choice': major_choice})
ПРИМЕЧАНИЕ: я заменил переменные на то, что я хочу, чтобы они содержали «Бухгалтерский учет», вы увидите внутри нижнего views.py его, называемого «Major».
Index.html
<a href="{% url 'locate:Major' 'Accounting' %}">Accounting</a>
major.html
<ul>
{% for major in major_choice %}
<li>{{major.ProfessorName}}</li>
{%endfor%}
</ul>
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('<str:Major/', views.Major, name='Major')
]
models.py
from django.db import models
class professor(models.Model):
ProfessorIDS = models.IntegerField()
ProfessorName = models.CharField(max_length=100)
ProfessorRating = models.DecimalField(decimal_places=2,max_digits=4)
NumberofRatings = models.CharField(max_length=50)
Major = models.CharField(max_length=50)
def __str__(self):
return self.ProfessorName
views.py
from django.http import HttpResponse
from django.shortcuts import render
from .models import professor
def index(request):
professors = professor.objects.all()
return render(request, 'locate/index.html', {'professors': professors})
def Major(request, major):
major_choice = professor.objects.filter(Major = major)
return render(request, 'locate/major.html', {'major_choice': major_choice})