我正试图找到一种方法在Django中编写一个引用外部URL的正确视图。
例如,我通常可以编写一个简单的视图,如下所示:
from django.http import HttpResponse
def my_view(request):
if True:
return HttpResponse('<h1 >hello world</h1 >')
或者,我们可以使用render_to_response
引用模板。我们如何引用外部网址,例如“google”?
答案 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并将其传递给模板,以便它已包含在页面内容中。