2016-03-31 20 views
1
böyle benim django view başka sunucuya bir http isteği göndermek istediğiniz

: Django görünümünde başka bir sunucuya nasıl istek gönderilir?

def django_view(request): 
    response = send_request('http://example.com') 
    result = do_something_with_response(response) 
    return HttpResponse(result) 

Bunu nasıl yapabilirim

?

+0

Muhtemelen yanlış şeyi araştırıyorsunuzdur. Python'da görünümünüzü değiştirmek için bir uyumsuzluk isteğinde bulunmak istiyorsanız, "ajax" içindeki "j", JavaScript'i temsil eder, istek zaten tamamlandığında tarayıcıyı güncellemek için bir çeşit web bağlantısı uygulaması yapmanız gerekir. Bunun gibi bir şey için muhtemelen JS'de bir jQuery ajax isteği ya da – paulski

+0

@pdom gibi bir şeyler yazmanız gerekiyor: evet, aslında bir HttpRequest okuyorum. Teşekkürler. – Navid777

cevap

3

İstek göndermek ve yanıt için python requests kütüphanesini kullanabilirsiniz. Ama ihtiyacın için yanıtı biçimlendirmen gerekecek. İşte

GET isteğin bir örnektir:

import requests 

def django_view(request): 
    # get the response from the URL 
    response = requests.get('http://example.com') 
    result = do_something_with_response(response) 
    return HttpResponse(result) 

sadece ikaz buradan yaparsanız artık ajax (Asynchronous JavaScript ve XML) olmayacak olmasıdır. Alternatif olarak, web sayfanızı normal olarak django görünümünden yüklemeniz ve ardından tüm AJAX isteklerini javascript'te gerçekleştirmeniz gerekir - yanıtı daha fazla işlemek ve sayfada görüntülemek.

İlgili konular