Подстраницы, созданные с помощью администратора исчезают в меню - PullRequest
0 голосов
/ 01 октября 2019

Я создаю подстраницы с помощью панели администратора. Затем я использую цикл, чтобы добавить их в главное меню. Они отображаются только на главной странице. Если я переключаюсь на одну из них, они больше не отображаются в меню (то же самое происходит с префиксами языков).

, поэтому предположим, что у нас есть home.html с меню:

home |о |madesubpage1 |madesubpage2 |EN |DE |PL

, затем я перехожу на "созданную страницу1" или любую другую страницу и в меню оставляем только:

home |о

некоторые просмотры:

def index(request, *args, **kwargs):
    multilanguage = Multilanguage.objects.all()
    sub_links = Subpage.objects.all()
    return render(request, 'home.html', {'multilanguage':multilanguage, 'sub_links':sub_links})

def generated_page(request, slug):
    unique_subpage = get_object_or_404(Subpage, slug=slug)
    sub = Subpage.objects.get(slug=slug)
    if sub.is_active:
        context = {
            'unique_subpage': unique_subpage,
        }   
        return render(request, 'subpage.html', context)
    else:
        return render(request, '404.html', {'sub':sub})

URL приложения:

urlpatterns = [
    path('', views.index, name='index'),
    path('o-nas', views.about, name='about'),
    path('oferta', views.offer, name='offer'),
    path('kontakt', views.contact, name='contact'),
    path('subpage', views.subpage, name='subpage'),
    path('<slug:slug>', views.generated_page, name='generated_page'),
]

header.html:

<ul id="nav-mobile" class="right hide-on-med-and-down">
            <li><a href="{% url 'index' %}">{% trans 'Strona główna' %}</a></li>
            <li><a href="{% url 'offer' %}">{% trans 'Oferta' %}</a></li>
            <li><a href="{% url 'about' %}">{% trans 'O Nas' %}</a></li>
            {% for sub in sub_links %}
              {% if sub.is_active %}
                <li><a href="{% url 'generated_page' sub.slug  %}">{% trans sub.title %}</a></li>
              {% endif %}
            {% endfor %}            
            <li><a href="{% url 'contact' %}">{% trans 'Kontakt' %}</a></li>
            <li>
            <ul>
              <li><a href="{{page_url}}">PL</a></li>
                {% for lang in multilanguage %}
                  {% if lang.multilanguage_marker %}
                    <li><a href="{{site_identity.site_url}}/{{lang.multilanguage_prefix}}">{{lang.multilanguage_prefix|upper}}</a></li>
                  {% endif %}
                {% endfor %}
            </ul>
            </li>
      </ul>

URL проекта:

urlpatterns = [
    path(r'^i18n/', include('django.conf.urls.i18n')),
    path('admin/', admin.site.urls),
    path('ckeditor/', include('ckeditor_uploader.urls')),
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

urlpatterns += i18n_patterns(
    path('', include('pages.urls')),
    prefix_default_language=False,
)
...