невозможно получить URL меню из базы данных Django - PullRequest
0 голосов
/ 15 марта 2020

У меня есть одна большая проблема. Я создал свое собственное меню навигации для 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)})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...