2017-01-30 5 views
0

У меня есть URL, какпереписывание часть ССЫЛОК Джанго

  1. www.example.com/events/A/
  2. www.example.com/events/B/

и т.д.

Я хотел бы изменить, что

  1. www.example.com/portal/A/ и аналогичным образом.

Этого можно достичь на уровне Apache, но могу ли я сделать это в django, используя некоторое промежуточное ПО или что-то в этом роде.

Я попытался с помощью RedirectView как этот

url(r'events/', RedirectView.as_view(url='/portal/')), 

Но это только останавливается/портала и что-нибудь после событий/игнорируется.

Есть ли способ сделать это в Джанго

+0

это поможет http://stackoverflow.com/questions/31661044/how-to-redirect-url-pattern-with-variables-from- urls-py-in-django? noredirect = 1 & lq = 1 –

ответ

0

Таким образом, вы настраиваете переадресацию на старый URL, и для их перемещения на новый. Есть несколько мест, где вы можете это сделать. То есть уровень веб-сервера, уровень приложения. Один способ django сделать это - настроить перенаправление в старый контроллер и переместить всю логику в новое представление.

from django.core.urlresolvers import reverse 
from django.shortcuts import redirect, render_to_response 


def event_view(request, event_identifier): 
    return redirect(reverse('portal-view', kwargs={'portal_identifier': event_identifier}), permanent=True) 


def portal_view(request, portal_identifier): 
    return render_to_response('portal.html', {}) 

Не забудьте сделать его постоянным редирект

+0

Bipul благодарит за ваш ответ. В моем случае доступен event_view. Поскольку мои URL-адреса являются событиями/A, событиями/B и т. Д. Мои представления - это A(), B() и т. Д. И их число равно 100, и мне нужно будет сделать переадресацию реверса в каждом представлении. Есть ли промежуточное программное обеспечение или что-то, что может быть изменено на www.example.com/events/A по адресу www.example.com/portal/A и т. Д. –

+0

Вы не следуете сухим принципам здесь. У вас будет какая-то очистка или много испытаний. В любом случае взглянем на это. http://stackoverflow.com/questions/31661044/how-to-redirect-url-pattern-with-variables-from-urls-py-in-django –

Смежные вопросы