我的应用中有两个模板标签,其中包含在db中显示条目的表单。当我更改数据或向db添加新条目时,表单显示旧数据。在管理面板中,一切都是正确的(更新)。当我重新启动服务器(我的意思是manage.py runserver
)表单时显示更新的数据库条目。如何使表格显示更新数据?
至于
CHRISS
修改:
档案: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)
文件:views.py
视图负责处理表单:
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))
我意识到在某些情况下代码可能会很蹩脚。我会很感激如何更好地写东西。
答案 0 :(得分:1)
我的评论太低了,但是takes_context
默认为False,这使得您的作业变得多余。此外,但现在我猜,但它可能与您的问题有关。
答案 1 :(得分:0)
寻找“CACHE_BACKEND = ????”在您的settings.py文件中。该值将根据您使用的缓存机制而变化。注释掉并重新启动服务器。如果您的值现在正确显示,那么这是一个缓存问题。
答案 2 :(得分:-1)
您使用的是某种缓存系统吗?可能就是这样。