В моем приложении есть две метки-шаблоны, которые содержат формы, которые показывают записи в БД. Когда я изменяю данные или добавляю новую запись в базу данных, формы показывают старые данные. Пока в админке все правильно (обновлено). Когда я перезагружаю сервер (я имею в виду manage.py runserver
), формы показывают обновленные записи в БД. Как заставить формы отображать обновленные данные?
С уважением
Крисс
РЕДАКТИРОВАТЬ:
файл: templatetags/oceny_tags.py
:
from django import template
from oceny.formularze import StudentFormularz, PrzeniesStudentaFormularz
def dodajStudenta(req):
formularz = StudentFormularz(req)
return {'formularz': formularz}
def przeniesStudenta(req):
formularz = PrzeniesStudentaFormularz(req)
return {'formularz': formularz}
register = template.Library()
register.inclusion_tag('oceny/formularz_studenta.html', takes_context = False)(dodajStudenta)
register.inclusion_tag('oceny/formularz_przenies_studenta.html', takes_context = False)(przeniesStudenta)
file: views.py
view, ответственный за обработку форм:
def zarzadzajStudentami(request):
formularze = ['dodaj_studenta', 'przenies_studenta']
req = {}
for e in formularze:
req[e] = None
if request.POST:
req[request.POST['formularz']] = request.POST
if request.POST['formularz'] == 'dodaj_studenta':
formularz = StudentFormularz(request.POST)
if formularz.is_valid():
formularz.save()
return HttpResponseRedirect(reverse('zarzadzaj_studentami'))
elif request.POST['formularz'] == 'przenies_studenta':
formularz = PrzeniesStudentaFormularz(request.POST)
if formularz.is_valid():
student = Student.objects.get(id = request.POST['student'])
grupa = Grupa.objects.get(id = request.POST['grupa'])
student.grupa = grupa
student.save()
return HttpResponseRedirect(reverse('zarzadzaj_studentami'))
return render_to_response('oceny/zarzadzaj_studentami.html', {'req': req}, context_instance = RequestContext(request))
Я понимаю, что в некоторых случаях код может быть неудачным. Буду признателен за любые другие советы, как писать вещи лучше.