как добавить удалить URL-адрес из urls.py в views.py - PullRequest
1 голос
/ 07 октября 2011

У меня есть модель с именем Agency.agency, в которой есть поле с именем URL, например, я добавляю 2 агентства, в которых первое присваивает значение A URL-адресу, а второе присваивает значение B URL-адресу field.now Я хочу переопределите метод save_model в index в views.py, чтобы добавить URL-адрес Agencie к urls.py при добавлении агентства, например:

(r'^airAgency/A/$','airAgency.views.index'),
(r'^airAgency/B/$','airAgency.views.index'),

итак, при вводе http://127.0.0.1:8080/airAgency/A представление индекса определяет, к какому агентству я хочу получить доступ, и передаю его данные на страницу. Теперь у меня есть 2 вопроса:

  1. как добавить / удалить URL-адрес в urls.py при переопределении метода сохранения в views.py
  2. когда пользователь вводит URL-адрес в браузере, как я могу его проанализировать и выяснить, к какому агентству он хочет получить доступ для отправки информации этого агентства. По первому вопросу я много искал, но ничего не нашел. По второму вопросу я гуглил и узнал, как разобрать запрошенный URL, но вы думаете, что поиск строки в таблице агентств по ее полю URL - хороший способ

1 Ответ

1 голос
/ 08 октября 2011

Как уже говорили и / или указывали другие, не кодируйте конкретные агентства в свой urls.py Сохраняйте его универсальным и СУХИМ, разрешая переменные в ваших URL

# urls
(r'^airAgency/(?P<name>[a-zA-Z0-9]+)/$', 'airAgency.views.index'),
   # this passes the value there as 'name' to the view for index

#views
def index(request, name):   # it needs to know name will be passed to it
    some_query = Agency.objects.filter( agency_name = name )
    #should also add catching for unknown objects to go to 404s
    ...
    return some_sort_of_http_response

больше примеров приведено в * документы 1005 *

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