Стал разбираться с DJango, нашел интереснейшую идею.
Часто мы ходим по сайтам, и видим такую картину "www.shop.org/catalog?product_id=123". Другими словами какие-то параметры к странице передаются в виде GET запроса. Выглядит это не супер юзер френдли.
Представьте себе, если бы мне пришлось диктовать эту ссылку другому человеку по телефону :-)
А если бы URL-ы выглядели так? "www.shop.org/catalog/product_id/123/"
Смотрите, никаких GET-запросов! никаких непонятных знаков '?' и '='
Намного лучше!
Теперь буду стараться применять такие URL-ы везде где только смогу. Раньше даже в голову не приходило, что часть URL можно обрабатывать как параметр. В DJango это делается очень просто! наверняка и другие фреймворки данную фишку :-)
воскресенье, 7 июня 2009 г.
Подписаться на:
Комментарии к сообщению (Atom)
6 комментариев:
Поздравляю, это полезное колдунство.
А зацени-ка вот, как с этим обстоят дела в рельсах. :-)
Такая вот строчка:
map.resources :vk_users
Дает нам следующие роутинги
Название метода ( как выглядит урл ( пояснения
vk_users GET /vk_users(.:format) {:controller=>"vk_users", :action=>"index"}
POST /vk_users(.:format) {:controller=>"vk_users", :action=>"create"}
new_vk_user GET /vk_users/new(.:format) {:controller=>"vk_users", :action=>"new"}
edit_vk_user GET /vk_users/:id/edit(.:format) {:controller=>"vk_users", :action=>"edit"}
vk_user GET /vk_users/:id(.:format) {:controller=>"vk_users", :action=>"show"}
PUT /vk_users/:id(.:format) {:controller=>"vk_users", :action=>"update"}
DELETE /vk_users/:id(.:format) {:controller=>"vk_users", :action=>"destroy"}
А, красиво? :-)
А почему не MOD Rewrite?
Или это как раз оболочка к нему?
В Django философия такая "Красивое лучше некрасивого" :)
CC, к сожалению, я не знаю, что такое "MOD Rewrite" :-) В django с помощью регулярных выражений все шаманство происходит :-) может и оболочка, я еще не разобрался в тонкостях
Сергей, запутанно выглядит для не рубиста, но я понял, что это пример URL-мэпинга, и вроде понял, как он работает :-) Мне кажется, что в джанго и рельсах примерно одинаково сделано
Михаил, ага, возможно потому, что его делали для газетчивов :-))
Сорри. Ни о каком mod-rewrite речи идти не может, т.к. это касаеться Апача (через него в Апаче делаеться тоже самое).
А я просто забыл что это не единственный веб-сервер в мире :)))
В рельсах как то не особо красиво получается ;)
В Django намного красивее. Хотя идеология указания контроллера и экшина, очень располагает на понимание.
Однако
urlpatterns = patterns('',
url(r'^registration/$',views.registration),
url(r'^login/$', views.login),
url(r'^logout/$', views.logout),
выглядит красивее )).
Отправить комментарий