У меня есть одна большая проблема. Я создал свое собственное меню навигации для Django. простые модели, которые содержат название меню, URL, изображение и слаг. поэтому, когда я перебираю базу данных, я могу получить имя, и все в порядке. но когда я хочу получить URL-адрес, ничего не происходит, я не получаю ошибку, но когда я проверяю через браузер, получает ли пустое место версию HTML, но есть код Django.
views.py
from django.shortcuts import render
from .models import BlogPost
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage
from slider.models import HomePageSlider
from blogmenu.models import Menu
def index(request):
Post_list = BlogPost.objects.all()[:5]
Slider_item = HomePageSlider.objects.all()
menu_item = Menu.objects.all()
template_name = 'front/index.html'
return render(request, template_name, {"Post_list":Post_list,
"data_item":Slider_item,
"menu_item":menu_item,
})
def post_list(request):
postlist = BlogPost.objects.all().order_by('-Post_created_on')[:5]
menu_item = Menu.objects.all()
template_name = 'front/postlist.html'
paginate_by = 3
return render(request, template_name, {"postlist":postlist,
"menu_item":menu_item,
})
def post_detail(request,Post_slug):
template_name = 'front/post_detail.html'
post_content = BlogPost.objects.all()
left_post = BlogPost.objects.all()[:5]
menu_item = Menu.objects.all()
try:
Post = BlogPost.objects.get( Post_slug = Post_slug)
except :
return render(request,'front/404.html')
return render(request, template_name, {'blogpost':Post,
'post_content':post_content,
'left_post':left_post,
"menu_item":menu_item,
})
# Create your views here.
Мои urls.py
from django.urls import path
from .import views
from django.conf import settings
from django.contrib.sitemaps.views import sitemap
from blog.sitemaps import PostSitemap
from .feeds import LatestPostsFeed
sitemaps = {
"post": PostSitemap,
}
app_name = 'blogs'
urlpatterns = [
path('', views.index, name = 'Homepage'),
path('siaxleebi/<slug:Post_slug>/', views.post_detail, name = 'post_detail'),
path('siaxleebi/', views.post_list, name = 'News'),
path('sitemap.xml', sitemap, {'sitemaps': sitemaps},
name='django.contrib.sitemaps.views.sitemap'),
path('sitemap', sitemap, {'sitemaps': sitemaps},
name='django.contrib.sitemaps.views.sitemap'),
path("feed/rss", LatestPostsFeed(), name="post_feed"),
path('', views.index, name = 'Homepage')
]
Мои модели.py для приложения Меню
from django.db import models
class Menu(models.Model):
Menu_name = models.CharField(max_length=100,blank=True)
Menu_slug = models.SlugField(name="სლაგი",blank=True)
Menu_image = models.ImageField(upload_to="menuimages")
Menu_url = models.CharField(name="url",max_length=100,blank=True,null=True)
class Meta:
verbose_name = "მენიუ"
def __str__(self):
return self.Menu_name
def get_absolute_url(self):
from django.urls import reverse
return reverse("blogs:index", kwargs={"Menu_url": str(self.Menu_url)})