@black_xe

Как вывести посты и открывать их в popup?

Помогите с вопросом, у меня есть шаблон include/wrapper.html, там html код всего сайта,
-> я могу в этом же файле wrapper.html начать выводить все статьи через {% for body in object_list %} ? Или как правильнее сделать?
-> и у меня не получается при нажатии на статью открывать popup с полной статьей, могу сделать чтобы открывалось как блог, ссылкой (т.е. категория/статья1) а вот как сделать что бы открывалось попапом (категория#статья1)?
Помогите пожалуйста решить вопрос.

urls.py всего проекта
from django.contrib import admin
from django.urls import path, include
from django.conf.urls.static import static
from django.conf import settings

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('pages.urls'))
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)


urls.py приложения с wrapper.html
from django.urls import path
from django.conf.urls import url
from django.views.generic import ListView, DetailView
from pages.models import posts
# from . import views

urlpatterns = [
    path('', ListView.as_view(queryset=posts.objects.all().order_by("-date")[:20],
     template_name="pages/pages.html")),
     url(r'(?P<pk>\d+)$', DetailView.as_view(model = posts, template_name = "pages/post.html"))
]


models.py
from django.db import models

class posts(models.Model):
    title = models.CharField(max_length = 80)
    description = models.CharField(max_length = 250, '')
    body = models.TextField()
    date = models.DateTimeField()
    photo = models.ImageField("Картинка", upload_to="posts/img", default="", blank=True)

    def __str__(self):
        return self.title
        return self.description
  • Вопрос задан
  • 236 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
  • Если pages.html наследует wrapper.html, то можете.
  • Написать javascript-код, который будет заполнял popup данными поста, по которому произошёл клик, и показывать его.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы