Django Sem redirecionamentos
-
22-09-2019 - |
Pergunta
Eu tenho um arquivo flash que chama um URL como: http://test.com/savethis/123456/
Eu só quero que minha visão salve "123456" no banco de dados e não retorne nada.
Depois de salvar os valores, o que eu faço? Se eu redirecionar, ele muda a página e isso é ruim. Eu poderia renderizar uma página, mas não quero. Eu só quero que termine e não jogue erros.
Solução
Certifique -se de que seu URLConf aponte para a função de visão desejada e escreva algo como:
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()
O HTTPRESPONHO vazio no final envia de volta um código de status de 200 OK, para que o navegador ou outro servidor que se conecte ao seu terminal saiba que a solicitação foi concluída.
Outras dicas
Parece que você está em uma função de visualização, o que significa que alguém emitiu uma solicitação HTTP para algo, ao qual você deve responder, para que você não possa simplesmente não fazer nada.
Retornar um código de erro ou retornar um HttpResponse
. Você pode apenas retornar uma resposta vazia OK (ou seja, retornar a resposta HTTP 200):
from django.http import HttpResponse
def myview(request):
return HttpResponse()