Джанго маршруты помогают - PullRequest
       10

Джанго маршруты помогают

1 голос
/ 02 февраля 2010

Эй, ребята, я делаю простой сайт по продаже автомобилей. У меня есть хороший маленький urlpattern, который работает хорошо, как ожидалось

/car/1/

едет на машине с этим идентификатором, просто?

Однако по причинам SEO я хочу добавить дополнительные данные в URL, но игнорировать их.

/car/1/ford/focus

в качестве примера, как мне изменить мои скороговорки, чтобы учесть дополнительные детали?

2 шаблона будут идти в одно и то же место и загружать один и тот же вид.

Есть идеи?

Ответы [ 2 ]

10 голосов
/ 02 февраля 2010

Это не поможет вашему SEO - на самом деле это будет активно вредить. Если /car/1/, /car/1/ford/, /car/1/ford/focus/ все переходят на один и тот же URL, вы фактически сократили поисковый баланс для этой страницы. Это очень плохая идея.

Если вы действительно хотите это сделать, это очень просто:

r'^car/(?P<car_id>\d+)/.*/$'

но я бы не стал этого делать. Гораздо лучшая идея - не указывать ID и использовать марку и модель, чтобы получить автомобиль:

r'^car/(?P<make>\w+)/(?P<model>\w+)/$'

Итак, теперь у вас есть URL-адреса в форме /car/ford/focus/, и, по вашему мнению, вы можете сделать:

def myview(request, make, model):
    car = Car.objects.get(make=make, model=model)
1 голос
/ 02 февраля 2010

Используйте SlugField (или AutoSlugField) для создания SEO-дружественных URL-адресов

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