2013-02-15 3 views
3

У меня есть приложение, которое переопределяет форму изменения формы Django. То, что я хочу изменить, - кнопки отправки внизу. Под ним в приложении Джанго change_form.html:Django admin добавить пользовательскую кнопку в форме изменения в зависимости от значения поля формы

{% extends "admin/change_form.html" %} 
{% block submit_buttons_bottom %} 
    ## add some buttons 
{% endblock %} 

Кнопка Я хочу, чтобы показать/добавить, зависит от значения определенного поля в названиях формы «статус». Как я могу получить значение поля в шаблоне ... что-то вроде:

{% if form.field.status == 'unresolved' %} 
    <input type="submit" value="Mark as resolved" class="default" name="_save" /> 
{% endif %} 

UPDATE:

Я не получаю никаких ошибок. Просто ничего не отображается.

Перебор вар «adminform» получит меня на поле мне нужно

{% for fieldset in adminform %} 
    {% for line in fieldset %} 
     {% for field in line %} 
      {% if field.field.name == 'status' %} 
       this is status {{ field.field.name }} - {{ field.contents }} 
      {% endif %} 
     {% endfor %} 
    {% endfor %} 
{% endfor %} 

Но я хочу, чтобы получить доступ к нему напрямую. Что-то вроде:

{% if adminform.0.0.field.status == 'unresolved' %} 
    <input type="submit" value="Mark as resolved" class="default" name="_save" /> 
{% endif %} 
+1

, что случилось с кодом у вас есть? Какую ошибку вы получаете? –

+0

У меня нет ошибок. Просто ничего не отображается. см. мое обновление – nelsonvarela

+0

Хорошо, я обновил свой ответ. –

ответ

0

Попробуйте изменить if заявление -

{% if adminform.status.value == 'unresolved' %} 

Я предполагаю, но я думаю, что переменная adminform, вероятно, просто форма. Посмотрите на this section of the docs, чтобы увидеть атрибуты полей формы.

+0

Это не работает, пока ничего не отображается – nelsonvarela

+0

Что делает {{adminform}}, {{adminform.status}} или {{adminform.status.value}} вывод? –

0

Это должно работать:

{% if adminform.form.status.value == 'unresolved' %} 

или если поле только для чтения, есть еще один способ:

{% if adminform.form.instance.status == 'unresolved' %} 
Смежные вопросы