Mam szablon pokazujący różne wpisy, które autor może edytować/usunąć. Użytkownicy mogą usuwać swoje posty, klikając opcję UsuńWyłącz pamięć podręczną na określonej stronie za pomocą Flask
Po usunięciu użytkownik zostanie przekierowany na stronę wpisów, ale element nadal tam jest, a strona musi zostać ponownie załadowana, aby pokazać efekt usunięcia. Jeśli wyłączyć buforowanie problem znika, ale naprawdę chcę mieć w pamięci podręcznej wszystkich innych stron ...
Dodanie tych znaczników nie działa, myślę, że moja przeglądarka po prostu je ignoruje
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
ja umożliwiając koryta cache:
@app.after_request
def add_header(response):
response.headers['X-UA-Compatible'] = 'IE=Edge,chrome=1'
response.headers['Cache-Control'] = 'public, max-age=600'
return response
czy istnieje sposób mogę wyłączyć go dla konkretnej strony?
edit
jak sugeruje Próbowałem za pomocą otoki:
def no_cache(f):
def new_func(*args, **kwargs):
resp = make_response(f(*args, **kwargs))
resp.cache_control.no_cache = True
return resp
return update_wrapper(new_func, f)
i owinąć stronę chcę wihtout cache w dekoratora @no_cache, nadal nie miał szczęścia ...
dzięki za wskazanie, że nie mogę dodać nagłówki kontroli pamięci podręcznej jeśli już tam są, nie pomyślałem o tym ... próbowałem robić, co sugerowałeś, próbując z otoką i próbując po prostu dodać nagłówki odpowiedzi, ale pamięć podręczna nadal jest tam z jakiegoś powodu ... –
@ LucaBrozzi, sprawdź, czy otrzymujesz żądane nagłówki w narzędziach programistycznych Chrome/Mozilli. Patrz np. ta odpowiedź, jeśli nie wiesz, jak to zrobić: http://stackoverflow.com/questions/4423061/view-http-headers-in-google-chrome. Jeśli wyraźnie zobaczysz, że nie ma nagłówka 'Cache-Control: no-cache', to nadal jest problem z overridenem nagłówków w twoim' @ app.after_request' handler. – NikitaBaksalyar
nah zapomniałem zmienić linię, twoje rozwiązanie było prawidłowe, dziękuję bardzo –