2010-01-25 2 views
4

Je dispose d'un fichier flash qui appelle une URL comme: http://test.com/savethis/123456/Django Pas Redirections

Je veux juste mon point de vue de sauver « 123456 » dans la base de données et retourner rien. Après avoir sauvegarder les valeurs, que dois-je faire? Si je le redirige, cela change la page et c'est mauvais. Je pourrais rendre une page, mais je ne veux pas. Je veux juste qu'il se termine et ne pas jeter d'erreurs.

+0

Est-ce seulement moi qui ne comprends pas la question? – YOU

+0

@ S.Mark - non, j'ai fait une estimation de ce qu'il veut. Nous verrons si j'ai raison! –

+0

Mes humbles excuses pour la question abstraite et bien @Dominic vous aviez raison :) –

Répondre

14

Assurez-vous que vos points de URLConf à votre fonction de vue souhaitée, et d'écrire quelque chose comme:

from django.http import HttpResponse 
from my_models import MyModel 

def myview(request, number): 
    my_model = MyModel(my_field = number) 
    my_model.save() 
    return HttpResponse() 

HttpResponse vide à la fin renvoie un code d'état de 200 OK de sorte que le navigateur ou un autre serveur qui se connecte à votre point de terminaison sait que la demande a été effectuée.

+0

Cela devrait le résoudre: D fondamentalement, je suis en flash, donc je pense que je voudrais juste ignorer la réponse et cela fonctionnera bien :) Merci pour l'aide. –

+0

Faire ce truc depuis flash avec navigateUrl ne fonctionne pas vraiment. Il me donne un pop up au lieu de le faire silencieusement en arrière-plan. –

3

On dirait que vous êtes dans une fonction de vue, ce qui signifie que quelqu'un a émis une requête HTTP pour quelque chose, auquel vous devez répondre, vous ne pouvez donc rien faire. Renvoyez un code d'erreur ou renvoyez un HttpResponse. Vous pouvez simplement retourner une réponse vide OK (ie retour de réponse HTTP 200):

from django.http import HttpResponse 

def myview(request): 
    return HttpResponse()