Page not found (404) No MenuCategories matches the given query
Я создала приложение на джанго, суть такая:
Через админку добавляются данные, которые потом выводятся на главную страницу.
Данные я добавила, но на странице они не отображаются, выдает ошибку
Page not found (404) No MenuCategories matches the given query.
Как это можно исправить?
Вот мой код в models.py:
from django.db import models
class MenuCategories(models.Model):
name = models.CharField(max_length=50)
parent = models.ForeignKey('self', on_delete=models.CASCADE, blank=True, null=True)
explicit_url = models.CharField(max_length=100, blank=True, null=True, unique=True)
def __str__(self):
return self.name
def children(self):
return self.menucategories_set.all()
def get_elder_ids(self):
if self.parent:
return self.parent.get_elder_ids() + [self.parent.id]
else:
return []
urls.py:
from django.urls import path, include
from django.contrib import admin
urlpatterns = [
path(r'^', include('new_menu.urls')),
path(r'admin/', admin.site.urls),
]
new_menu/urls.py:
from django.urls import path
from . import views
urlpatterns = [
path(r'', views.index, name='index'),
path(r'(\d+)', views.index, name='index')
]
views.py:
from django.shortcuts import render
def index(request):
context = {}
return render(request, 'new_menu/index.html', context)
Ответы (1 шт):
Автор решения: h g
→ Ссылка
Ты вроде не добавила в context в файле view модель MenuCategories.
from django.shortcuts import render
from .models import MenuCategories
Create your views here.
def index(request):
menu = MenuCategories.objects.all()
context = {'menu': menu}
return render(request, 'new_menu/index.html', context)
Далее в шаблоне new_menu выведи эти данные
{% for i in menu %}
{{ i }}
<hr>
{% endfor %}