Вопрос по расширению пользовательского сайта администратора django - PullRequest
0 голосов
/ 23 апреля 2020

Я создал пользовательский сайт администратора и добавил пользовательскую кнопку для указания c страницы модели путем расширения 'change_list. html'. Вот моя проблема.

  1. Пропущена ссылка "ДОБРО ПОЖАЛОВАТЬ, АДМИНИСТРАЦИЯ. ПРОСМОТРЕТЬ САЙТ / ИЗМЕНИТЬ ПАРОЛЬ / ВЫХОД" в правом верхнем углу заголовка.

  2. Как расширить пользовательский сайт администратора? текущая настройка: расширение по умолчанию для сайта администратора.

сайт администратора по умолчанию

enter image description here

Пользовательский сайт администратора

enter image description here

Новая страница, которая расширяет сайт администратора

enter image description here

mysite \ urls.py

from django.contrib import admin
from django.urls import include, path
from polls.admin import polls_admin_site

urlpatterns = [
    path('polls-admin/', polls_admin_site.urls, name='polls'),
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

опросов \ urls.py

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
    path('polls-admin/polls/question/show', views.show, name='show'),
    ...
]

опросы \ admin.py

from django.contrib import admin
from django.contrib.admin import AdminSite
from .models import Question

class PollsAdminSite(AdminSite):

    change_list_template = 'polls/templates/admin/polls/change_list.html'

    site_header = "Polls Admin"
    site_title = "Polls Admin Portal"
    index_title = "Welcome to Polls Portal"

polls_admin_site = PollsAdminSite(name='polls_admin')


class QuestionAdmin(admin.ModelAdmin):

    list_display = ('question_text', 'pub_date')

    list_display_links = ('question_text', 'pub_date')

polls_admin_site.register(Question, QuestionAdmin)

опросы \ views.py

from django.http import Http404, HttpResponse, HttpResponseRedirect
from django.shortcuts import get_object_or_404, render
from django.urls import reverse
from django.template import loader

from .models import Question, Choice

...

def show(request):
    template = loader.get_template('polls/show.html')
    context = {
        'text': 'Hello!',
    }
    return HttpResponse(template.render(context, request))

опросы \ шаблоны \ admin \ polls \ change_list. html

{% extends "admin/change_list.html" %}
{% load i18n static %}

{% block object-tools-items %}
    {{ block.super }}
    <li>
        <a href="{% url 'show' %}" class="btn btn-high btn-success">Show</a>
    </li>
{% endblock %}

опросов \ show. html

{% extends "admin/base_site.html" %}
{% load i18n static %}

{% block content %}
{{ block.super }}

{{text}}

{% endblock %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...