0

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

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

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

或者,我们可以使用render_to_response. 我们如何引用外部 URL,例如“google”?

4

3 回答 3

2

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

from django.http import HttpResponseRedirect

def my_view(request):
    if True:
       return HttpResponseRedirect('http://stackoverflow.com')
于 2013-05-29T17:11:30.537 回答
1

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

您想加载一个静态JSON文件,并且想知道如何执行此操作。

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

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

但是,如果此 JSON 文件发生更改,那么您将遇到完全不同的问题。

于 2013-05-29T18:08:01.810 回答
0

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

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

于 2013-05-29T18:35:11.210 回答