Для работы с html страницей, использовалось представление показанное ниже.
views.py:
#импорт библиотеки, для поиска в БД по нескольким критериям.
from django.db.models import Q
#представление, использует в качестве дополнительного значение id, аналогично
этому
def picture(request, id):
subjects=[]
#берем значения из БД
user = User.objects.get(id=id)
data = Data.objects.get( name=id)
#берем типы изображений
subj = ImgSubj.objects.all()
for subj in subj:
if Image.objects.filter(Q(user=id)& Q(tip_foto=subj)):
subjects +=[subj]
if request.method == 'POST':
#тип изображения
#береться значение нажатой кнопки с name="tip"
tipimg = request.POST.get('tip')
#выбираем из БД изображения, определенного типа, и определенного пользователя
if ImageSubj.objects.filter(subject=tipimg):
imagesubjects = ImageSubjects.objects.get(subject=tipimg)
img = Image.objects.filter(Q(tip_foto=imagesubjects)& Q(user=id))
else:
img= Image.objects.filter(user=id)
#создаем словарь с выбранными значениями
context = {'user': user,
'data': data,
'subjects': subjects}
context.update(csrf(request))
#передаем значения на указанную страницу
usersearch = render_to_string('user.html', context)
#вывод форм и информации на базовую страницу
return render_to_response('search/base_index.html', {'usersearch': usersearch}, context_instance=RequestContext(request))
<form method="post">
{% if data.sername %}-если значение взято из БД, то будет отображаться
<div class="block1"> <div>
Фамилия: <b>{{data.sername}}</b> - отображение взятых значений из БД
</div>
<div>
Имя: <b>{{data.name}}</b>
</div>
<div>
{% if data.ssername %}
Отчество: <b>{{ data.lastname }}</b>
{% endif %}
</div>
<div>
{% if data.databorn %}
Дата рождения: <b>{{ data.databorn }}</b>
{% endif %}
</div>
<input name="tip" class="large blue awesome" style="width: 220px; margin: 2px 2px;" type="submit" value="Кнопка"> - отображение кнопки
{% for subj in subjects %} - цикл для отображения кноаок, соответствующих типам изображений
<input name="tip" class="large blue awesome" style="width: 220px; margin: 2px 2px; " type="submit" value="{{ subj }}">
{% endfor %}
}
</form>
Комментариев нет:
Отправить комментарий