我在Ubuntu 12.10上使用Python 2.7运行Django 1.4。我在一个开发人员团队工作,从昨天到今天似乎已经发生了变化,我似乎无法在本地使用runserver加载静态文件。我们的开发环境运行良好。所有其他开发人员的本地环境都运行良好。我们的生产环境很好。作为一个团队,我们有点难过,希望社区能够对这个问题有所了解。
以下是该项目的相关部分:
project.urls
if settings.TEMPLATE_DEBUG:
urlpatterns += patterns('django.views.static',
(r'^media/(?P<path>.*)$', 'serve', {
'document_root': settings.MEDIA_ROOT}),
(r'^static/(?P<path>.*)$', 'serve', {
'show_indexes': True,
'document_root': settings.STATIC_ROOT}),
)
project.settings.dev
from __init__ import *
DEBUG = True
TEMPLATE_DEBUG = True
project.settings
PROJECT_ROOT = os.path.join(os.path.dirname(__file__), '..')
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')
STATIC_URL = '/static/'
项目结构:
project
--apps/
--<dozens of apps>
--settings/
--__init__.py
--dev.py
--staticfiles/
--templates/
--__init__.py
--manage.py
--tests.py
--urls.py
我已移除project/static/
并运行manage.py collectstatic
,将{404}个静态文件从project/static/
复制到project/staticfiles/
。
如果我然后运行manage.py runserver
我可以看到该网站,但没有加载静态样式/文件。
注意,似乎没有其他人遇到这个问题。我们都使用Github的相同代码库。实际上没有理由我应该面对这个问题,而其他人则没有。有任何想法吗?我正在考虑在本地使用Apache2并设置.wsgi文件并完全跳过Django服务器 - 但我真的不愿意。
编辑1: 我注意到Django服务器确实抱怨了一些静态文件。
[20/Feb/2013 16:59:40] "GET /accounts/login/ HTTP/1.1" 302 0
[20/Feb/2013 16:59:40] "GET /dashboard/ HTTP/1.1" 200 8645
[20/Feb/2013 16:59:40] "GET /static/js/libs/less/less.js HTTP/1.1" 404 950
[20/Feb/2013 16:59:40] "GET /static/less/proton-app.less HTTP/1.1" 404 950
[20/Feb/2013 16:59:40] "GET /static/CACHE/js/987f5472f2f9.js HTTP/1.1" 404 950
[20/Feb/2013 16:59:41] "GET /static/CACHE/js/d5e323c0aed6.js HTTP/1.1" 404 950
[20/Feb/2013 16:59:41] "GET /static/images/favicon.png HTTP/1.1" 404 950
道歉。是的,有一些与静态文件相关的404错误。
答案 0 :(得分:0)
我无法找到基于代码的解决方案来解决这个问题。为了解决这个问题,我删除了项目并删除了我的虚拟环境。然后我重新创建了我的虚拟环境,从github获取了fork并重新设置了整个项目环境。
现在它正在运作。 * *耸肩