как исправить администратора django "У вас нет прав на просмотр или редактирование."? - PullRequest
0 голосов
/ 30 мая 2019

ради настройки сайта администратора по умолчанию я внес следующие изменения:

admin.py:

class CustomAdminSite(admin.AdminSite):

def get_urls(self):
    urls = super(CustomAdminSite, self).get_urls()
    custom_urls = [
        # re_path(r'^.*\.html', views.custom_admin_template_loader, name='custom-loader'),

        url(r'^.*\.html', self.admin_view(self.my_view), name="my-view"),
    ]
    return urls + custom_urls

def my_view(self, request):
    context = {}
    load_template = request.path.split('/')[-1]
    template = loader.get_template('admin/' + load_template)
    request.current_app = self.name
    return HttpResponse(template.render(context, request))

    apps.py:
from django.contrib.admin.apps import AdminConfig


class MyAdminConfig(AdminConfig):
    default_site = 'myproject.admin.CustomAdminSite'

settings.py:

INSTALLED_APPS = [
    'myproject.apps.MyAdminConfig',

ничего не изменилось в urls.py

так что если я получаю доступ к администратору / он работает, но если я получаю доступ к другому шаблону, используя созданный мной вид, он говорит, что у вас нет прав на редактирование, как это исправить? для разъяснений, почему я использую это представление, это потому, что я переопределил шаблоны администратора по умолчанию, и теперь у меня есть панель навигации, что означает, что мне нужно перемещаться по различным html-файлам (шаблонам)

1 Ответ

0 голосов
/ 31 мая 2019

Решение:

Мне нужно было передать контекст + установить request.current_app, ( добавлено в моем пользовательском представлении )

    context = {
        **self.each_context(request),
        'title': self.index_title,
        'app_list': app_list,
    }

    request.current_app = self.name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...