Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 10, 2008 01:14:52

Naota
От:
Зарегистрирован: 2007-06-04
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

Webhelpers

Хочу избавиться от автозаполнения полей при формировании ссылки через h.url_for(…).
Дело в том, что когда зашел на страницу вида :controller/:action/:id, то функция h.url_for(action='next') формирует url вида www.com/next/3 где 3 это id текущей страницы. И по этому постоянно приходится писать h.url_for(action='next', id=None). Что весьма раздражает :(



Офлайн

#2 Июнь 10, 2008 05:18:37

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

Webhelpers

вместо h.url_for(action='next') пиши h.url_for(controller='/controllername', action='next')

P.S. Только это не webhelpers, это routes: http://routes.groovie.org/manual.html#route-memory



Отредактировано (Июнь 10, 2008 05:20:56)

Офлайн

#3 Июнь 10, 2008 17:46:47

Naota
От:
Зарегистрирован: 2007-06-04
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

Webhelpers

Спасиб. А как отключить это фишку? А то много ссылок переписывать надо….



Офлайн

#4 Июнь 10, 2008 18:28:33

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

Webhelpers

По ссылке ходил? Следующий пункт “Overriding Route Memory”:
“”“
m = Mapper(explicit=True)
”“”
в config/routing.py

а вообще, использовал бы named routes, меньше проблем было бы



Офлайн

#5 Июнь 10, 2008 18:45:49

Naota
От:
Зарегистрирован: 2007-06-04
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

Webhelpers

j2a
По ссылке ходил? Следующий пункт “Overriding Route Memory”:
“”“
m = Mapper(explicit=True)
”“”
в config/routing.py

а вообще, использовал бы named routes, меньше проблем было бы
Я не знаю английский, смотрел этот пункт, хотелось наверняка. А ещё такая нехорошая вещь.
map.connect('genre/:id', controller='main', action='genre', page=1)
map.connect('genre/:id/page:page', controller='main', action='genre')
h.url_for(controller='/main', action='genre', id=2)
Вывод:
main/genre/2
Если писать controller='main', то вывод будет сокращенным. Ну и при Mapper(explicit=True) вывод то же полный и сокращения не работают :(. Если юзать named routes, то ссылки то же полные создаются, а не сокращенные.

Вот ещё. Зашел на страницу /genre/3/page4 и получил на ней ссылки: h.url_for(action='year' , year=2000) -> year/2000/page4?id=3 и h.url_for(action='genre', id=2) -> genre/2/page4. Вот и приходится расставлять всюду None :(



Отредактировано (Июнь 10, 2008 19:17:28)

Офлайн

#6 Июнь 14, 2008 09:19:34

Naota
От:
Зарегистрирован: 2007-06-04
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

Webhelpers

Вроде бы нормально все сокращается. Видимо раньше routes были настроены неверно.



Офлайн

#7 Июнь 16, 2008 15:21:09

Naota
От:
Зарегистрирован: 2007-06-04
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

Webhelpers

Подскажите как сделать ajax загрузку изображения? Чето не получается чере submit_to_remote и h.form_remote_tag. Только как текст передает :(



Офлайн

#8 Июнь 18, 2008 08:10:48

ingvar
От:
Зарегистрирован: 2008-04-04
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Webhelpers

Naota
Подскажите как сделать ajax загрузку изображения? Чето не получается чере submit_to_remote и h.form_remote_tag. Только как текст передает :(
А так работает?

В mako типа такого текста
<DIV>

${h.link_to_remote(“img!”, dict(update=“image_here”, url=h.url_for(action='place_image')))}

<div id=“image_here”></div>

</DIV>

В контроллере напиши обработчик

def place_image(self):
return (u“<img src='тут путь к картинке'>”)

При этом в DOM-объект <div id=“image_here”> возвращается текст <img src='тут путь к картинке'>



Отредактировано (Июнь 18, 2008 08:17:02)

Офлайн

#9 Июнь 18, 2008 17:15:49

Naota
От:
Зарегистрирован: 2007-06-04
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

Webhelpers

мне надо upload сделать на сервер картинку



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version