Я работаю над портфельным проектом. где я должен классифицировать проекты на основе их категорий. Я дал кнопки для каждой категории, и я должен отображать каждое содержимое отдельных категорий на кнопках кликов под ними. Например. У меня есть 2 проекта в категории Дизайн. Когда я нажимаю «Дизайн», я должен получить эти два проекта под кнопкой.
Я попытался отфильтровать содержимое и успешно отобразил их на другой странице, но не смог отобразить их на той же странице.
Вотмой код: Models.py
class PortfolioCategory(models.Model):
projectCategory = models.CharField(max_length=200)
projectSummary = models.CharField(max_length=300)
projectLink = models.CharField(max_length=200)
class Meta:
verbose_name_plural = "categories"
def __str__(self):
return self.projectCategory
class Portfolio(models.Model):
projectName = models.CharField(max_length=250)
projectLink = models.CharField(max_length=50, default="")
projectImage = models.ImageField(upload_to="img/Portfolio/")
projectContent = models.TextField(default="")
projectCategory = models.ForeignKey(
PortfolioCategory, verbose_name="Category", on_delete=models.CASCADE)
def __str__(self):
return self.projectName
Views.Py
def projectLink(request, projectLink):
category = [c.projectLink for c in PortfolioCategory.objects.all()]
if projectLink in category:
categoryItems = Portfolio.objects.filter(
projectCategory__projectLink=projectLink)
myProjects = categoryItems.all()
return render(
request,
"main/home.html#projectLink",
{
"projects": myProjects,
"navbar": navbar,
}
)
projectContent = Portfolio.objects.get(projectLink=projectLink)
return render(
request,
"main/projectItem.html",
{
"project": projectContent,
"navbar": navbar,
}
)
def homepage(request):
return render(
request=request,
template_name="main/home.html",
context={
"portfolios": Portfolio.objects.all,
"categories": PortfolioCategory.objects.all,
"navbar": navbar,
"socialLinks": socialIcons,
"skillset": skills,
})
home.html
<ul class="nav nav-tabs justify-content-center">
{% for cat in categories %}
<li><a data-toggle="tab" href="#{{cat.projectLink}}">{{cat.projectCategory}}</a></li>
{% endfor %}
</ul>
<div class="tab-content">
{% for cat in categories %}
<div id="{{cat.projectLink}}" class="tab-pane fadeIn">
{{cat.projectCategory}}
//Projects Detail Here
</div>
{% endfor %}
</div>
Я должен показывать карточки каждого проекта по нажатию кнопки.