gpt4 book ai didi

django - 服务器上 Django 中的 STATIC_ROOT

转载 作者:行者123 更新时间:2023-12-04 10:54:39 25 4
gpt4 key购买 nike

当我尝试在 webfacional 的服务器上运行 webapp 时,我陷入了关于 STATIC_URL 和 STATIC_ROOT 的问题 2 小时。

当我加载网页时,所有请求都运行良好,除非任何带有 {{ STATIC_URL}} 的链接都在工作或加载。

所以 Firebug 上出现的一个常见错误是:

GET http://mydomain/static/extras/h5bp/js/libs/modernizr-2.5.3.min.js 500 (Internal Server Error) 

我的设置是:

网址.py
我什么也没做,静态文件也没有。

设置.py
调试 = 假
STATIC_ROOT = '/home/mydomain/webapps/static_app/'
STATIC_URL = 'http://mydomain/static/'
STATICFILES_DIRS = ()

View .py
查看示例
@csrf_exempt
def IndexView(request):
try:
request.user.is_authenticated()
except AttributeError:
return render_to_response('index.html',
{'request': request,},
context_instance=RequestContext(request))

return render_to_response('index.html',
{'request': request, 'profile' : request.user},
context_instance=RequestContext(request))

索引.html
部分代码未找到
<script src="{{ STATIC_URL }}extras/h5bp/js/libs/modernizr-2.5.3.min.js"></script>

好吧,我遵循以下所有要点:
https://docs.djangoproject.com/en/1.4/howto/static-files/
这是另一个:
http://docs.webfaction.com/software/django/getting-started.html

我正在使用正确安装的应用程序、中间件、template_contexts。

如果我遗漏了什么,请帮我弄清楚。

提前致谢!

- 编辑

我不得不说,如果我只是改变 DEBUG = True 就可以了。

因为在 urls.py 我有这段代码:
if settings.DEBUG:
# static files (images, css, javascript, etc.)
urlpatterns += patterns('',
(r'^media/(?P<path>.*)/$', 'django.views.static.serve', {
'document_root': settings.MEDIA_ROOT}))

最佳答案

在开发环境中不需要的生产环境中必须发生 2 件事。

您必须运行 manage.py collectstatic -- 这会将所有静态文件收集到您的STATIC_ROOT 中目录。

您必须为您的 STATIC_ROOT 提供服务STATIC_URL 的目录网址。具体如何取决于您的生产设置。这甚至与 django 无关;重要的是STATIC_ROOT内容可在 STATIC_URL 获得.

假设您使用的是 Apache,您会将 URL 别名为目录。

Alias /static/ /path/to/my/static_root/

如果您使用的是 nginx,则类似于
location = /static/ {
alias /path/to/my/static_root/;
}

我刚刚意识到您正在使用 webfaction,在这种情况下,您设置了一个静态应用程序,该应用程序实际上只是在您定义的 URL 的目标目录中提供文件。我正在尝试记住我的 webfaction 登录以查看确切的过程,但这应该不难弄清楚。

更新:
登录网络派系;您可以创建一个符号链接(symbolic link)的应用程序。简单的!

创建一个服务于/YOUR_STATIC_URL/的符号链接(symbolic link)应用程序并将其指向/YOUR_STATIC_ROOT/。完毕!

关于django - 服务器上 Django 中的 STATIC_ROOT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12204136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com