Джанго читать из БД - PullRequest
       2

Джанго читать из БД

1 голос
/ 06 сентября 2010

Если я «зачитываю» из БД, я только что сохранил файлы, чтобы получить:

Ваше имя: (u'Mike ',)

Ваш день рождения включен: (datetime.datetime (2009, 12, 5, 0, 0),)

Вместо

Ваше имя - Майк

Ваш день рождения 12/05/2009

Как мне этого добиться?

Спасибо

@ Даниэль:

То же самое мой пример, на который вы ответили незадолго до этого:

этокак это сохраняется:

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 ]

1 голос
/ 06 сентября 2010

Но это не считывается из базы данных, оно берется прямо из отправки формы. Вместо этого используйте объекты, которые вы только что сохранили. Вам нужно будет немного отформатировать в день рождения:

% (contact.name, number.phonenumber, contact.address, 
   number.get_phone_type_display(), 
   contact.birth_day.strftime('%d/%m/%Y'))
1 голос
/ 06 сентября 2010
name = form.cleaned_data['name'],
birth_day = form.cleaned_data['birth_day'],
address = form.cleaned_data['address'],

Я думаю, что у вас есть кортеж из-за запятых (,) в конце строк! Удалите их и попробуйте снова:)

0 голосов
/ 06 сентября 2010

Как вы «читаете» из базы данных?Если вы подключаетесь к базе данных с помощью библиотеки (скажем, MySQLdb), выполняете запрос и распечатываете выходные данные (скажем, с помощью fetch_row()), то полученный результат является естественным.

Результатом будет кортеж, и вам придется извлечь нужное поле.Это можно сделать с помощью соответствующего индекса.Скажите:

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

Обновление

(После просмотра обновленного вопроса): @ Даниил ответ должен помочь вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...