如何在Django中访问post请求中发送的数据?

时间:2014-01-13 09:33:06

标签: django python-2.7 django-templates

我有一个表格应该在Django中创建一个新的'Quote'记录。 “引用”需要外键的BookID。

这是我的表格

<form method="POST" action="{% url 'quotes:createQuote' %}">
    {% csrf_token %}
    <section>
        <label for="q_text">Quote Text</label>
        <input type="text" name="text" id="q_text" placeholder="Enter a Quote" style="padding-left:3px"> <br>

        <label for="q_book">Book ID</label>
        <input type="text" name="bookID" id="q_book" placeholder="Enter Book ID" style="padding-left:3px"> <br>

        <label for="q_disp">Display Quote Now?</label>
        <input type="radio" name="display" id="q_disp" value="True"> True 
        <input type="radio" name="display" value ="False">False <br>
        <button value="submit">Submit</button>
    </section>
</form>

这是它定位的方法

def createQuote(request):
    #b = get_object_or_404(Book, pk=request.bookID)
    return HttpResponseRedirect(reverse('quotes:index'))

在该请求参数的某处,我假设存在某种字段,其中包含用户将在表单上传递的bookID。我如何获得这些信息?

任何可以告诉我某些方式的人都可以通过Javascript中的console.log(some.collection)可视化数据

1 个答案:

答案 0 :(得分:1)

if request.method == "POST":
     book_id = request.POST['book_id']

假设你确定它在那里。否则,您需要验证/提供默认值,就像使用普通的python词典一样。

至于可视化数据,是指将其打印到控制台?在这种情况下,如果您正在运行django runserver,则可以执行print some_data。如果你希望它格式化得更好,你可以使用漂亮的打印:

import pprint
pp = pprint.PrettyPrinter()
pp.pprint(some_data)