【发布时间】:2014-12-19 12:02:00
【问题描述】:
我正在构建一个相当简单的实验来作为网站运行。
都是javascript,所以我需要服务器来存储实验结果。我已经在 WebFaction 上设置了一个 Django 服务器,但我的问题是让 django 将客户端重定向到第一个静态 html 页面(从 js 接管)。
我认为我的解决方案应该是这样的(使用 django 1.7.1):
urls.py
django.views.generic import RedirectView
urlpatterns = patterns('',
url(r'^$', RedirectView.as_view (url='fudge.html'))
)
当DEBUG = True 在 settings.py 上时它可以工作,但是当它设置为 False 时我得到:
Not Found
The requested URL /fudge.html was not found on this server.
我在 settings.py 中设置了STATIC_ROOT = '/AmirStatic/' 并按照我在网上找到的说明运行了python manage.py collectstatic,但这并没有奏效。
要么我不了解 Django 中的路径设置,要么配置不正确,要么我不了解如何使用静态网页。但我原以为它会比这简单得多。我花了整整 3 天的时间掉头发。
我会非常感谢任何对此提出好的建议的人,
提前非常感谢。
哦,我是 python、Django 和一般网络开发的新手,如果还没有遇到的话 :)
【问题讨论】:
-
但是 /fudge.html 服务的是什么?
-
你为什么使用
RedirectView.as_view (url='fudge.html'))而不是实际的URL?您现在正在指定一个模板 -
当您设置 DEBUG = False 时,django 将停止为您的静态文件提供服务,因此您需要为此配置反向代理(或任何您想为它们提供服务的代理)。我只使用过 nginx,但在那里我必须告诉 nginx 静态和媒体文件夹的位置,以便它可以为它们服务。我不知道他们在 WebFaction 上使用什么。
-
如果您访问 /AmirStatic/fudge.html ,您会得到有效的响应吗? (如果没有,您至少应该从前端服务器而不是 django 收到错误)。您可能会遇到两个问题:将视图配置为指向静态 URL,然后让您的 Web 服务器为静态内容提供服务器
标签: javascript python html django static