2016-05-10 18 views
0

私は単純なフォームを使用して請求書(invoice_text)の名前を編集します。変更を送信すると、インデックスページにリダイレクトされます。問題は、インデックスページに古いレコードが表示されていることです。これはFirefoxでのみ可能です。 Internet Explorerは変更を直接表示します。 F5は役立ちますが、もちろん新しい(編集された)情報を表示する必要があります。投稿後に表示が更新されない

forms.py

class InvoiceForm(ModelForm): 
    class Meta: 
     model = Invoice 
     fields = ('Invoice_text',) 

views.py

def index(request): 
    latest_invoice_list = Invoice.objects.order_by('-pub_date')[:5] 
    context = {'latest_invoice_list': latest_invoice_list} 
    return render(request, 'invoices/index.html', context) 

def invoice_edit(request, pk): 
    obj = get_object_or_404(Invoice, pk=pk) 

    if request.method == "POST": 
     form = InvoiceForm(request.POST, instance=obj) 
     if form.is_valid(): 
      obj = form.save(commit=False) 
      obj.Invoice_text = request.POST['Invoice_text'] 
      obj.save() 
      return HttpResponseRedirect('/invoices/') 
    else: 
     form = InvoiceForm(instance=obj) 
    return render(request, 'polls/edit_Invoice.html', {'form': form}) 

のindex.htmlテンプレート

{% if latest_invoice_list %} 
    <ul> 
    {% for invoice in latest_invoice_list %} 
     <li><a href="/invoices/{{ invoice.id }}/">{{ invoice.invoice_text }}</a> | <a href="{% url 'invoice_edit' pk=invoice.pk %}">edit</a></li> 
    {% endfor %} 
    </ul> 
{% else %} 
    <p>No polls are available.</p> 
{% endif %} 
+2

@never_cacheデコレータを使用してみてください。https://docs.djangoproject.com/en/1.9/topics/http/decorators/ – e4c5

答えて

1

これは奇妙ですが、あなたがする@never_cacheデコレータを使用することができるはずですそれを防ぐ:

from django.views.decorators.cache import never_cache 

@never_cache 
def index(request): 
    .... 
関連する問題