Форум сайта python.su
4
Вопрос собственно: можно ли в request.POST передать произвольный объект Python со страницы в views?
Офлайн
52
Лучше скажите, чего вы хотите добиться. И почитайте про http-запросы.
Передать приложению произвольный post-запрос, который обработает ваша вьюшка, разумеется, можно. На этом построен весь интернет.
Офлайн
4
Хотя и эта проблема решилась. Вопрос был в том, что я не могу понять, как можно передать произвольный объект на страницу, а потом из поля hidden получить его обратно в том же виде.
Офлайн
173
Офлайн
568
fongostevА что за объект, можно поинтересоваться и, главное, зачем его вставлять в код таким хитрым образом?
Хотя и эта проблема решилась. Вопрос был в том, что я не могу понять, как можно передать произвольный объект на страницу, а потом из поля hidden получить его обратно в том же виде.
Офлайн
4
FishHook, грубо говоря, надо вывести список параметров серверов
определенного типа, а потом при нажатии на кнопку передать на соответствующий сервер байтовую строку с параметрами сервера, я сначала строил с объекта типа “сервер” объект формы, и передавал на страницу словарь, где ключи - объекты формы, а значения - объекты серверов, но это не сработало, поэтому я передавал необходимую байтовую строку в Latin-1, потому-что в других кодировках получалась ошибка перевода в юникод.
reclosedev, а Вы правы насчет pickle, про него я забыл
Офлайн
568
fongostev
FishHook, грубо говоря, надо вывести список параметров серверов
определенного типа, а потом при нажатии на кнопку передать на соответствующий сервер байтовую строку с параметрами сервера, я сначала строил с объекта типа “сервер” объект формы, и передавал на страницу словарь, где ключи - объекты формы, а значения - объекты серверов, но это не сработало, поэтому я передавал необходимую байтовую строку в Latin-1, потому-что в других кодировках получалась ошибка перевода в юникод.
reclosedev, а Вы правы насчет pickle, про него я забыл
Офлайн
4
FishHook
Например, есть часть шаблона:
<table border="0" cellpadding="7" cellspacing="0"> {% for webslot in slotlist %} {% if webslot.run %} <tr bgcolor="green"> {% endif %} {% if webslot.stop %} <tr bgcolor="yellow"> {% endif %} {% if webslot.err %} <tr bgcolor="red"> {% endif %} <td>{{ webslot.Name }}</td> <td>{{ webslot.Type }}</td> <td>{{ webslot.pop_ip_port }}</td> <td>{{ webslot.Status }}</td> <td> <form method="post"> <input type="submit" value="Restart" name="restart" onclick="location.href='/restart/?{{ webslot.pop_ip_port }}'" /> <input type="hidden" name="need" value="{{ webslot.SlotState }}" /> </form> </td> <td> <form method="post"> <input type="submit" value="Params" name="slot_params" onclick="location.href='/change/slot/?{{ webslot.pop_ip_port }}'" /> <input type="hidden" name="change_slot" value="{{ webslot }}" /> </form> </td> </tr> {% endfor %} </table>
Exception Type: TemplateSyntaxError Exception Value: Caught AttributeError while rendering: 'function' object has no attribute 'get' Exception Location: /usr/lib/python2.7/dist-packages/django/forms/forms.py in non_field_errors, line 243
Офлайн
я сделаю предположение, что вы пытаетесь сделать что то противоестественное.
Офлайн