2010-10-16 9 views

Répondre

1

Dans Django, vous seriez comme:

def someview(request): 
    # ... etc ... 
    out = HttpResponse(outputstring, 
     mimetype="text/html", 
     status_code="302", 
     ) 
    out['Content-Disposition'] = "attachment; filename=download.html" 
    # fill in all your favorite HTTP headers here 
    return out 

... pour le cache de contrôle et les amis, vous devez importer un tas de décorateurs et enveloppez donc vos fonctions de vue (je ne sais plus quel) - - C'est parce que django a un système de cache avec lequel de nombreux sous-rosa bits du framework sont intégrés. Je trouve que le contenu du cache est confus, mais aussi agréable. Les en-têtes HTTP non-cache sont E-Z.

+0

Je viens d'utiliser print 'Location: http: //' – bandw

+0

qui fonctionne probablement - mais je sais que les gens django pensent que c'est une mauvaise idée car ils redéfinissent sys.stdout et ses amis. l'utilisation de 'print' pour les en-têtes se cassera probablement à un moment donné. – fish2000

1

Transmettez une liste de deux-tuples contenant le nom d'en-tête et la valeur d'en-tête à la fonction start_response().

+1

Ceci est pour les applications WSGI. – Epeli