2015-09-05 63 views
1

我使用Django和试着让我的第一个应用程序初学者,但我一直在得到“未找到”每次我在我的视图中添加JavaScript文件时间静态DIR没有找到Django的

这是我的setting.py

STATIC_URL = '/home/me/PycharmProjects/GLife/static/' 
MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media') 

MEDIA_URL = '/media/' 

STATIC_ROOT = 'static/' 

STATICFILES_DIRS = (
    os.path.join(PROJECT_DIR, 'static'), 
) 

urls.py

urlpatterns = [ 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^register', include('register.urls')), 
    url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}), 

]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

urlpatterns += staticfiles_urlpatterns() 

HTML

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <!--<script src="/static/djangular/js/django-angular.min.js" type="text/javascript"></script>--> 
    <script src="{% static '/js/_register/register.js' %}" type="text/javascript"></script> 
    <title></title> 
</head> 
<body> 

我已经搜一下,但建议失败了,希望有人可以帮助

,这里是我的项目结构

的myproject
- 主

--register 
    ---migrations 
    ---templates 

--static 
    ---js 
     ----_register 

我只是想作为使用js的测试进行警报显示

+0

[Django静态文件结果404]的可能重复(http://stackoverflow.com/questions/14799835/django-static-files-results-in-404) –

+0

我删除了STATIC_ROOT就像它说的,但仍然越来越同样的错误 – newbiemeh

+0

确切地说,'register.js'(和其他任何给你问题的文件)相对于'manage.py'定位? –

回答

3

发生这种情况是因为您切换了STATIC_ROOT和的值210。它必须是这样的:

STATIC_URL = '/static/' 
STATIC_ROOT = '/home/me/PycharmProjects/GLife/static/' 

STATIC_URL是指位于STATIC_ROOT静态文件时使用的URL。

STATIC_ROOT是collectstatic将收集用于部署的静态文件的目录的绝对路径。

此外,您的静态路径和STATIC_ROOT路径必须不同。

使用开发服务器时,无需配置STATIC_ROOT或使用collectstatic管理命令,因为如果DEBUG为真,它将自动从静态文件夹提供静态文件。