Django 3 как показать содержимое блока? блок контента стал невидимым в шаблонах при расширении базы html - PullRequest
0 голосов
/ 26 апреля 2020

Django 3 блок контента стал невидимым в шаблонах, когда расширенная база html

Индекс. html страница, используемая для отображения группы статей, тогда есть отдельные страницы из них одиночные. html оба типа страниц простираются от базы. html. После добавления нумерации страниц отображается только часть нумерации страниц.

Единственное, о чем я мог подумать, это проблема URL или html шаблонизация?

Мне кажется, я настроил его для двух разных типов URL между http://127.0.0.1: 8000 /? Page = 1 но это должно http://127.0.0.1: 8000/1 / Я считаю, что мне нужно выяснить, как их выстроить в очередь, и вот где они застряли.

Я не получаю никаких ошибок в разделе «Проблемы с кодом».

no errors

Отсутствует основной блок содержимого как в индексе. html, так и на отдельных страницах

Picture of issue

index. html это предполагается выдвигаться из базы. html и загружать содержимое блока карточек

{% extends "base.html" %}

{% block title %}Meteorite Collection{% endblock title %}


{% block content %}


    {% for article in articles %}
<div>
    <li class="card m2 p-3 card-body" style="width: 18rem;">
        <img class="card-img-top" src="{{article.image.url}}" alt="{{article.title}}">
        <a href="{% url 'single' article.id%}"><h2>{{article.title}}</h2></a>
        <img class="card-img-top" src="{% url 'single' article.id%}" alt="{{article.title}}">
          <p class="card-text">{{ article.content | truncatewords:50 }}</p>
        <p>Posted in: {{article.category}}, Posted by: {{article.author}}</p>
        <a href="{% url 'single' article.id%}" class="btn btn-primary">Goto {{article.title}} Details</a>
        </li>
    </div>
{% endblock content %}

база. html

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>{% block title %}{% endblock title %}</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">


</head>
<body>
    <header>
        <nav class="navbar navbar-expand-lg navbar-light bg-light">
                <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarTogglerDemo01" aria-controls="navbarTogglerDemo01" aria-expanded="false" aria-label="Toggle navigation">
                  <span class="navbar-toggler-icon"></span>
                </button>
                <div class="collapse navbar-collapse" id="navbarTogglerDemo01">
                  <a class="navbar-brand" href="{% url 'index' %}">Meteorite Collection</a>
                  <ul class="navbar-nav mr-auto mt-2 mt-lg-0">
                    <li class="nav-item active">
                      <a class="nav-link" href="{% url 'index' %}">Home <span class="sr-only">(current)</span></a>
                    </li>
                    <li class="nav-item">
                      <a class="nav-link" href="#">Link</a>
                    </li>
                    <li class="nav-item">
                      <a class="nav-link disabled" href="#">Disabled</a>
                    </li>
                  </ul>
                  <form class="form-inline my-2 my-lg-0">
                    <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
                    <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
                  </form>
                </div>
              </nav>
    </header>

    <div class="container">
        <div class="row mt-3">

{% block content %}

{% endblock content %}


    {% for article in articles %}

  {% endfor %}

  <div class="row">
 <div class="pagination">
        {% if posts.has_previous %}
            <a href="?page=1" class="btn btn-primary">&laquo; first</a>
            <a href="?page={{ posts.previous_page_number }}" class="btn btn-primary">< previous  </a>
        {% endif %}

        <span class="current">
              Page {{ page_obj.number }} of {{ posts.paginator.num_pages }}.   
        </span>

        {% if posts.has_next %}
            <a href="?page={{ posts.next_page_number }}" class="btn btn-primary">  next &raquo;></a>
            <a href="?page={{ posts.paginator.num_pages }}" class="btn btn-primary"> last &raquo;</a>
        {% endif %}

</div>
</body>
</html>

single. html

{% extends "base.html" %}

{% block title %} {{ single.title }} {% endblock title %}

{% block content %}


<a href="{% url 'index' %}" class="btn btn-primary">...Go Back</a>

    <div class="card p-4">
        <h1>{{single.title}}</h1>
        <img class="card-img-top" src="{{single.image.url}}" alt="{{single.title}}">
        <div class="card-body">
          <h5 class="card-title">{{single.title}}</h5>
                <p>Posted in: {{single.category}}, Posted by: {{single.author}}</p>
                <p><b>Category:</b> {{single.category}}</p>
                <p><b>Name:</b> {{single.name}}</p>
                <p class="card p-4"><b>Content:</b> {{ single.content }}</p>
                <p><b>Offical Name:</b> {{single.offical}}</p>
                <p><b>Abbreviation:</b> {{single.abbreviation}}</p>
                <p><b>Observed Fall:</b> {{single.observed_fall}}</p>
                <p><b>Year Found:</b> {{single.yearfound}}</p>
                <p><b>Country:</b> {{single.country}}</p>
                <p><b>Mass:</b> {{single.mass}}</p>
                <p><b>Classification:</b> {{single.classification}}</p>
            <h2>{{single.title}} - {{single.category}} - {{single.country}}</h2>
                <p><b>Descriptions:</b> {{single.descriptions}}</p>
                <p><b>History:</b> {{single.history}}</p>
                <p><b>Place of Purchase:</b> {{single.place_of_purchase}}</p>
                <p><b>Date:</b> {{single.date}}</p>
                <p><b>Shock Stage:</b> {{single.shock_stage}}</p>
                <p><b>Weathering Grade:</b> {{single.weathering_grade}}</p>

    </div>

    {% endfor %}
{% endblock content %}

views, py

from django.core.paginator import Paginator
from django.shortcuts import render
from .models import Article, Category, Author


def index(request):
    articles = Article.objects.all()
    paginator = Paginator(articles,3)
    page = request.GET.get('page')
    posts = paginator.get_page(page)
    return render(request, 'index.html', {'posts': posts})

def single(request, id):
    single = Article.objects.get(id=id)
    nextpost = Article.objects.filter(id_gt=single.id).order_by('id').first()
    prevpost = Article.objects.filter(id_lt=single.id).order_by('id').last()
    return render(request, 'single.html', {"single": single, "prevpost": prevpost, "nextpost": nextpost})

blogdemo> blog> urls.py

from django.urls import path
from . import views
from .views import index, single


urlpatterns = [
    path('', views.index, name='index'),
    path('?page=<int:id>/', views.single, name='single'),
]

blogdemo> blogdemo> urls.py

from django.conf import settings 
from django.conf.urls.static import static 
from django.contrib import admin
from django.urls import path, include # imported include module
from blog.views import index, single

urlpatterns = [
    path('', include('blog.urls')), #added
    path('admin/', admin.site.urls),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...