Найти - Пользователи
Полная версия: регулярка
Начало » Django » регулярка
1
rss
url(r'([a-z]+)/$', 'deals', name = 'deals'),
url, типа localhost/any/deals/
но как не страно, это может быть и:
localhost/any/deals/gfdg/
localhost/any/deals/dfsg/dfsgfds/dfsgdfg/sdfgdsf/

стоит же конец строки $

может что-то в с django 1.5.5
Rodegast
Как-то так:
r'^any/deals/([a-z]+)/$'
bismigalis
вначало ^ добавь
rss
забыл указать, это url приложения any, есть еще глобальный:
url(r'^any/', include('any.urls')),

т.е. Вроде как должно быть: localhost/any/someurl/
никак не localhost/any/deals/sdaf/ или localhost/any/deals/dfgs/sdfgfds/dsfgdf/ …
FishHook
Вообще так не делают.
Обычно урл строят по такому принципу
www.site_name.ru/Приложение/Действие/Параметр1/Параметр2
Взять хотя-бы этот топик
http://python.su/forum/topic/22670
То есть количество параметров должно быть известно, чтобы с ними можно было работать.
def view(request, Параметр1, Параметр2):
То как у Вас это не очень правильно. Только если какой-нибудь сумасшедший сеошник захотел слеши в ЧПУ.
Если сильно хочется, то можно
#urls.py
url(r'^any$', include('any.urls')),
#any.urls.py
url(r'^([-a-zA-Z0-9_/]+)/', view, name=name),
FishHook
Если же нужно передавать действительно много параметров, то лучше запихать их в ГЕТ
rss
честно говоря, не совсем понял, в чем моя ошибка
project/urls.py
url(r'^any/', include('any.urls')),
project/any/urls.py
url(r'([a-z]+)/$', 'ds', name = 'ds'),
из урлов следует:
^any/([a-z]+)/$ 
т.е. только одно Действие… а выдает более 1-го
views.py
def ds(request, dl):
  rs = T.objects.order_by('title').filter(rl__dl__exact=dl)
    return render_to_response('any/rs.html', {'rs': rs, 'dl': dl, }, 
        context_instance = RequestContext(request) )
вывод должен быть такой:
localhost/any/dl/, где меняется только dl

Действие, тут список каталога
вроде все элементарно, чего же я не вижу?
FishHook
А какой dl у тебя получается при каком урле и какого результата ты ожидаешь?
Давай так,
отвлеченно от твоей задачи, ибо она никому не интересна, будем строить урлы,
покажи чего ты добиваешься и как ты это реализуешь.
daniel
И Всё же в project/any/urls.py должен быть

url(r'^([a-z]+)/$', 'ds', name = 'ds'),
rss
Так и есть, ошибка пропала, но почему в списке путей выдает такой вид: (в 404 странице)
^nt/ ^([-a-z]+)/$ [name='ds']
Это разве правильно?
Если можно, немного подскажите еще.


пс. Только начинаю и даже вообще программировать, поймите правильно, мне пока сложно даже понять, что пишут.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB