Арье прав, документация для Джанго отличная.Не пугайтесь, они делают его очень легким в изучении.
Из написания вашего первого приложения Django, часть 3 (https://docs.djangoproject.com/en/dev/intro/tutorial03/), в примере показано, как захватывать переменные из URL. Вurls.py:
urlpatterns = patterns('',
(r'^polls/$', 'polls.views.index'),
(r'^polls/(?P<poll_id>\d+)/$', 'polls.views.detail'),
)
строка (r'^polls/(?P<poll_id>\d+)/$', 'polls.views.detail')
говорит, что когда url похож на mysite.com/polls/423, захватите \ d + (423) и отправьте его в подробный вид как переменную с именемpoll_id. Если вы измените <poll_id>
на <my_var>
, переменная с именем my_var будет передана в представление. В представлении пример имеет:
def detail(request, poll_id):
return HttpResponse("You're looking at poll %s." % poll_id)
Вы в теле этой функции можетепосмотрите опрос Polls.objects.get(id=poll_id)
и получите все свойства / методы объекта Poll.
АЛЬТЕРНАТИВНО, если вы хотите добавить переменные URL (строка запроса), например / polls / details? poll_id = 423тогда ваша запись urls.py будет иметь вид:
(r'^polls/details$', 'polls.views.detail'),
, а ваш вид:
def detail(request):
poll_id = request.GET['poll_id']
return HttpResponse("You're looking at poll %s." % poll_id)
В теле вы все равно можете получить детали объекта Poll с помощью Poll.objects.get(id=poll_id)
,но в этом случае вы создаете переменную poll_id из переменной GET вместо разрешения DjaТеперь нужно разобрать URL-адрес и передать его в представление.
Я бы предложил придерживаться первого метода.