django - регистрация - is not a registered tag library. must be one of:




Перенаправление на admin Сохранить (3)

def change_view (self, request, object_id, extra_context = None):

result = super(mymodeladmin, self).change_view(request, object_id, extra_context)

result['Location'] = "your location"

return result

Как перенаправить пользователя в другое приложение на Сохранить?

У меня есть два приложения, например app1 и app2 . Если пользователь нажимает app2 Сохранить в app2 он должен быть перенаправлен на app1 а не на страницу по умолчанию.

Я не хочу делать пользовательскую форму.


Возможно, взгляните на пространства имен URL ... Вероятно, вы можете использовать HttpResponseRedirect + reverse для перенаправления пользователя внутри вашего метода переопределенного сохранения. Имейте в виду, что это новая функция в Django 1.1 и не поддерживается в версии 1.0.x.

http://docs.djangoproject.com/en/dev/topics/http/urls/#url-namespaces


Чтобы изменить адрес перенаправления после сохранения в администраторе, вам необходимо переопределить response_add() (для добавления новых экземпляров) и response_change() (для изменения существующих) в классе ModelAdmin .

Посмотрите исходный код в django.contrib.admin.options .

И если вы хотите, чтобы люди продолжали помогать вам в , вам нужно принять ответы на ваши вопросы.

Быстрые примеры, чтобы сделать более ясным, как это сделать (будет в классе ModelAdmin):

from django.core.urlresolvers import reverse

def response_add(self, request, obj, post_url_continue=None):
    """This makes the response after adding go to another apps changelist for some model"""
    return HttpResponseRedirect(reverse("admin:otherappname_modelname_changelist"))


def response_change(self, request, obj, post_url_continue=None):
    """This makes the response go to the newly created model's change page
    without using reverse"""
    return HttpResponseRedirect("../%s" % obj.id])






django-admin