静态目录未找到django

时间:2015-09-05 05:07:47

标签: python django static

我是初学者,使用django并尝试制作我的第一个应用程序,但我继续得到"未找到"每次我在我的视图上添加一个javascript文件

这是我的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

进行警报显示

1 个答案:

答案 0 :(得分:3)

这种情况正在发生,因为您切换了STATIC_ROOTSTATIC_URL的值。必须是这样的:

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

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

     

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

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

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