引用外部URL

时间:2013-05-29 17:09:02

标签: django

我正试图找到一种方法在Django中编写一个引用外部URL的正确视图。

例如,我通常可以编写一个简单的视图,如下所示:

from django.http import HttpResponse
def my_view(request):
    if True:
        return HttpResponse('<h1 >hello world</h1 >')

或者,我们可以使用render_to_response引用模板。我们如何引用外部网址,例如“google”?

3 个答案:

答案 0 :(得分:2)

您可以使用HttpResponseRedirect将用户重定向到提供的网址。

from django.http import HttpResponseRedirect

def my_view(request):
    if True:
       return HttpResponseRedirect('http://stackoverflow.com')

答案 1 :(得分:1)

从你对第一个答案的评论来看,我认为这就是你的问题:

您想要加载静态JSON文件,并希望知道如何执行此操作。

好的,如果这个文件在你的服务器上,那么你将不得不使用static url标签。如果您要从服务器上没有的地方加载此JSON文件,只需输入完整的网址,如下所示:http://www.google.com

现在,如果这说JSON文件在您的服务器上,那么这是一个单独的问题。在这种情况下,您正在处理静态文件。 here是一个可以了解静态文件的好地方。

但是,如果此JSON文件发生更改,则完全会出现其他问题。

答案 2 :(得分:0)

您仍然没有考虑浏览器可以做什么的趋势。当然,浏览器无法访问服务器文件系统上的内容。它只能加载由某些内容提供的内容,无论是Django,静态媒体服务器还是外部服务器。

但我不明白你为什么要让Django重定向到这个内容。您可以直接从Javascript加载JSON,也可以从视图中的文件系统加载JSON并将其传递给模板,以便它已包含在页面内容中。