LINUX.ORG.RU

вопрос по get і post в Django???


0

0

я новичок в этом деле но необходимо для диплома, плис хелп есть скрипт:

function add_in_grup() {

      var id_atringrup = $('div#my_doc ul li').slice(0).attr(«id»);

      var id_newatr = get_selected($('#my_attr_container',

get_selected_tab()));

      if(id_newatr.length == 0) return

      $(«#my_doc», get_selected_tab()).load('add_in_grup/a=' + id_atringrup + «b=» + id_newatr, function(){

         $(«#grupa1», get_selected_tab()).selectable()

         alert('asdadadasdads');//єтот алерт работает

      })

   }

во вьюхе функция которая не работает:-((( :

def add_in_grup(request):

tmp1 = request.GET['a']

tmp2 = request.GET['b']

g1 = G.objects.get(atr = tmp1)

numg = g1.numgrup

g2 = G(numgrup=numg, numingrup=5, atr=tmp2)

g2.save()

return render_to_response('add_in_grup.html',{'s' : G.objects.filter(numgrup = numg)})

в urls.py соответственно строчка :

(r'^add_in_grup/(\d*)$', add_in_grup),

Мне кажется я неправильно вытягиваю передаваемые параметры, или еще чтото... сервер пишет:

/add_in_grup/a=7b=91 HTTP1.1" 404 3348



Последнее исправление: bulya911 (всего исправлений: 3)

Непонятно, зачем напрямую используется request.GET.

Судя по названию `add_in_grup`, адрес используется для отправки
данных? Если это так, использовать GET для указания параметров
посылки идейно неправильно.

Sphinx ★★☆☆
()

Включи код в [code][/code] и выбери в списке внизу LORCODE

vertexua ★★★★★
()

Регулярное выражение не подходит под твой url.

Делай раз: (r'^add_in_grup/(\d+)/(\d+)/$', add_in_grup),

Делай два: def add_in_grup(request, a, b):

Делай три: /add_in_grup/7/91/

anonymous
()

> я новичок в этом деле но необходимо для диплома

Чую где-то подвох.

anonymous
()
Ответ на: комментарий от bulya911

> с веб программированием сталкиваюсь впервые(

Судя по именам переменных и классов, ты и с программированием впервые столкнулся.

anonymous
()
Ответ на: комментарий от anonymous

Анонимус правильно говорит

Делай раз: (r'^add_in_grup/(\d+)/(\d+)/$', add_in_grup),

Делай два: def add_in_grup(request, a, b):

Делай три: /add_in_grup/7/91/

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

когда ввожу явно в адресную строку add_in_grup/7/91 то выдает ошибку django типо я g.atr должно быть полюбому заполнено видимо переменную b не видит. а когда так клацаю то всегда одно и тоже 404

bulya911
() автор топика
Ответ на: комментарий от vertexua

что означает, что у тебе не надо трогать Get, а просто обьявить еще два параметра у функции и сделать как в примере.

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

только d{число} надо менять на d+ кажись, в точности как сказал анонимус

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

я так и сделал:

def add_in_grup(request, a, b):

#tmp1 = request.GET['a']

#tmp2 = request.GET['b']

g1 = G.objects.get(atr = a)

numg = g1.numgrup

g2 = G(numgrup=numg, numingrup=5, atr= b)

g2.save()

return render_to_response('add_in_grup.html',{'s' :

G.objects.filter(numgrup = numg)})

bulya911
() автор топика
Ответ на: комментарий от bulya911

Та ты же Ajax пост не поменял, что же ты хочешь?

Надо

$("#my_doc", get_selected_tab()).load('add_in_grup/' + id_atringrup + "/" + id_newatr, function(){
vertexua ★★★★★
()
Ответ на: комментарий от vertexua

Cannot assign «u'91'»: «G.atr» must be a «A» instance.

это я так понимаю G.atr должно быть полюбому заполнено так как atr єто внешний ключ к А.

и опять таки это только тогда когда ввожу в адресную строку url, когда клацаю так сервер выдает теперь ошибку 500

bulya911
() автор топика
Ответ на: комментарий от bulya911

я так понимаю что а и б - все равно пустые((

bulya911
() автор топика
Ответ на: комментарий от bulya911

Ну во первых добейся того, чтобы URL формировался одинаковый, а с ключем не могу помочь. На Python особо не программирую и все что знаю о django прочитал час назад.

vertexua ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.