Django从db读取

时间:2010-09-06 08:52:08

标签: django

如果我从数据库“读出”我刚刚保存文件,我得到:

你的名字是:( u'Mike',)

您的生日开启:(datetime.datetime(2009,12,5,0,0),)

而不是

你的名字是迈克

你的生日是在12/05/2009

我怎样才能做到这一点?

由于

@ Daniel:

我之前回答的例子也是如此:

这是如何保存的:

def main(request):
    if request.method == 'POST':
        form = UserForm(request.POST)
        if form.is_valid():
            name = form.cleaned_data['name'],
            birth_day = form.cleaned_data['birth_day'],
            address = form.cleaned_data['address'],
#            contact1= form.cleaned_data['id']
            phone_type = form.cleaned_data['phone_type']
            phonenumber = form.cleaned_data['phonenumber']
            contact = Contact(
                name = form.cleaned_data['name'],
                birth_day = form.cleaned_data['birth_day'],
                address = form.cleaned_data['address'],
            )
            contact.save()
            number = PhoneNumber(
#                contact1 = form.cleaned_data ['id']
                contact = contact,
                phone_type = form.cleaned_data['phone_type'],
                phonenumber = form.cleaned_data['phonenumber'],

            )
            number.save()

以及它的显示方式:

    output = '''
    <html>
    <head>
    <title> Your telephone number </title>
    </head>
    <body>
    <h1> Your telephone number</h1>
    <p>Your Name is: %s </p>
    <p>Your Telephone number is : %s </p>
    <p>Your Address is: %s </p>
    <p>This is your %s number </p>
    <p>Your Birthday is on: %s </p>
    </body>
    </html>''' %( name, phonenumber, address, phone_type, birth_day)
    return HttpResponse(output)

3 个答案:

答案 0 :(得分:1)

但是这不是从数据库中读取的,而是直接从表单提交中获取。而是使用刚刚保存的对象。你需要在生日那天做一些额外的格式化:

% (contact.name, number.phonenumber, contact.address, 
   number.get_phone_type_display(), 
   contact.birth_day.strftime('%d/%m/%Y'))

答案 1 :(得分:1)

name = form.cleaned_data['name'],
birth_day = form.cleaned_data['birth_day'],
address = form.cleaned_data['address'],

我认为你有元组,因为行末有逗号(,)!删除它们并再试一次:))

答案 2 :(得分:0)

你如何从数据库中“读出”?如果您使用库(例如MySQLdb)连接到数据库,执行查询并打印输出(例如,使用fetch_row()),那么您获得的结果是很自然的。

结果将是一个元组,你必须提取你需要的字段。这可以使用适当的索引来完成。说:

result = fetch_row()
print "Your Name is: %s" % result[0]

<强>更新

(看到更新后的问题):@ Daniel answer应该帮助你。