Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » передавать переменные из одной функции представления в другую [RSS Feed]

#1 Март 23, 2012 07:11:42

skill
От:
Зарегистрирован: 2012-03-20
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

передавать переменные из одной функции представления в другую

Какие шутки? Никаких шуток здесь не может быть! Пи.Си не знал про эту фитчу в python-e



Офлайн

#2 Март 23, 2012 07:42:21

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

передавать переменные из одной функции представления в другую

skill
Какие шутки? Никаких шуток здесь не может быть! Пи.Си не знал про эту фитчу в python-e
О_о!!!
Ну я тебя сейчас очень сильно удивлю
>>> def foo(*args):
return sum(args)

>>> foo(1,2,3,4,5,6)
21
>>>



Офлайн

#3 Март 23, 2012 07:46:05

skill
От:
Зарегистрирован: 2012-03-20
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

передавать переменные из одной функции представления в другую

FishHook
skill
Какие шутки? Никаких шуток здесь не может быть! Пи.Си не знал про эту фитчу в python-e
О_о!!!
Ну я тебя сейчас очень сильно удивлю
>>> def foo(*args):
return sum(args)

>>> foo(1,2,3,4,5,6)
21
>>>
А при чем тут “*args” и “=none”? Про args и kwargs я знаю. Ха, удивил тоже мне=)



Офлайн

#4 Март 23, 2012 07:53:30

Imposeren
От:
Зарегистрирован: 2009-04-06
Сообщения: 46
Репутация: +  1  -
Профиль   Отправить e-mail  

передавать переменные из одной функции представления в другую

skill
Какие шутки? Никаких шуток здесь не может быть! Пи.Си не знал про эту фитчу в python-e
Наверное вы не до конца понимаете как работает питон. В нём всё объекты:
func(arg) — вернёт какой-то объект
return variable — вернёт объект variable

Тогда коду: variable = func(arg); return variable будет аналогичен код return func(arg)

Даже функции это тоже объекты — вы можете передавать в функцию другую функцию, что-то с ней делать и возвращать результат (опять-таки что угодно — или новую функцию которая может использовать ранее переданную, или просто результат како-йто проверки). Собственно так работают декораторы в питоне:

@decorator
def func():...
это тоже самое что:
def func_original():
....

func = decorator(func_original)
Вот. Ну а джанго — это просто пачка модулей написанных на Питоне. Это просто для общего развития;)



Офлайн

#5 Март 23, 2012 07:57:09

Imposeren
От:
Зарегистрирован: 2009-04-06
Сообщения: 46
Репутация: +  1  -
Профиль   Отправить e-mail  

передавать переменные из одной функции представления в другую

И еще одно дополнение:
Из того что лучше: я уже предлагал Django Messaging framework, а кроме этого вам предложили Class Based Views — вещь безумно крутая и удобная, но для неё вам стоит подтянуть питон. И что-то мне кажется что для вашей задачи она не совсем подойдёт, т.к. наследовать посути нечего и объектность в данной задаче будет лишней.



Офлайн

#6 Март 23, 2012 08:00:10

skill
От:
Зарегистрирован: 2012-03-20
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

передавать переменные из одной функции представления в другую

Imposeren
skill
Какие шутки? Никаких шуток здесь не может быть! Пи.Си не знал про эту фитчу в python-e
Наверное вы не до конца понимаете как работает питон. В нём всё объекты:
Может быть, хотя то, что Вы написали, я, конечно, понимаю.
Imposeren
Из того что лучше: я уже предлагал Django Messaging framework
Да, я уже реализовал то, что мне надо было через него. Еще раз спасибо на наводку.



Офлайн

#7 Март 23, 2012 08:03:55

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

передавать переменные из одной функции представления в другую

skill
FishHook
skill
Какие шутки? Никаких шуток здесь не может быть! Пи.Си не знал про эту фитчу в python-e
О_о!!!
Ну я тебя сейчас очень сильно удивлю
>>> def foo(*args):
return sum(args)

>>> foo(1,2,3,4,5,6)
21
>>>
А при чем тут “*args” и “=none”? Про args и kwargs я знаю. Ха, удивил тоже мне=)
Ну раз знаешь про kwargs, то помимаешь, что в функцию можно передать вообще всё что угодно или не передать ничего без вызова ошибки?
Если знал про kwargs, то вот тебе еще одно решение.
def battle(request, **kw):
if not kw.get('bat_id') or not kw.get('place'):
return HttpResponseForbidden()
messageVote, bat_id,place = kw.get('messageVote'), kw.get('bat_id'), kw.get('place')



Офлайн

#8 Март 23, 2012 08:18:38

Imposeren
От:
Зарегистрирован: 2009-04-06
Сообщения: 46
Репутация: +  1  -
Профиль   Отправить e-mail  

передавать переменные из одной функции представления в другую

skill
Может быть, хотя то, что Вы написали, я, конечно, понимаю.
Если понимаете єто, то возможно думаете что вьюхи джнаго при return делают какую-то магию? По сути они просто возвращают текст, поэтому вполне можно использовать другие вьюхи, т.к. они возвращают тоже текст. render_to_response может сбивать с толку — кажется что он делает что-то странное, возможно вызывает какие-то веб внутренности, но на самом деле он просто обрабатывает темплейт и возвращает результирующий текст.



Офлайн

#9 Март 23, 2012 08:18:54

skill
От:
Зарегистрирован: 2012-03-20
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

передавать переменные из одной функции представления в другую

FishHook
skill
FishHook
О_о!!!
Ну я тебя сейчас очень сильно удивлю
>>> def foo(*args):
return sum(args)

>>> foo(1,2,3,4,5,6)
21
>>>
А при чем тут “*args” и “=none”? Про args и kwargs я знаю. Ха, удивил тоже мне=)
Ну раз знаешь про kwargs, то помимаешь, что в функцию можно передать вообще всё что угодно или не передать ничего без вызова ошибки?
Если знал про kwargs, то вот тебе еще одно решение.
def battle(request, **kw):
if not kw.get('bat_id') or not kw.get('place'):
return HttpResponseForbidden()
messageVote, bat_id,place = kw.get('messageVote'), kw.get('bat_id'), kw.get('place')
Спасибо, уже реализовал через сообщения, но буду иметь ввиду)



Офлайн

  • Начало
  • » Django
  • » передавать переменные из одной функции представления в другую[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version