2016-01-20 3 views
1

Я использую django admin и grappelli и хотел переопределить представление по умолчанию для определенной модели.Переопределение представления по умолчанию и шаблона для модели в django/передача переменных в шаблон grapelli

Я перегрузили Грапелли change_form шаблон:

`` `

{% extends "grappelli:admin/change_form.html" %} 
{% block javascripts %} 
    {{ block.super }} 
    <script type="text/javascript">{{Object}}</script> 
{% endblock %} 

` ``

У меня 2 вопроса:

  1. Как я могу получить доступ к модели, передается по умолчанию django? Ни Object, ни opts, похоже, работают.
  2. Как переопределить значение по умолчанию для просмотра (что мне нужно переопределить), чтобы добавить новые переменные в контекст шаблона?

Заранее спасибо.

ответ

1

вы можете переопределить с change_view в admin.py и передать переменные через extra_context. например:

class GivenModel(models.Model): 
    def change_view(self, request, object_id, form_url='', extra_context=None): 

       your_obj = GivenModel.objects.get(id=asset_id.group(1)) 
       extra_context = {'title': your_obj.description} 
      return super(GivenModel, self).change_view(request, object_id, form_url, extra_context)