如何在django中启用/ static/css URL enable

Haf*_*fiz 1 django django-urls django-settings django-1.3 django-static

当我使用MEDIA_URL或STATIC_URL指向/ static /当前将MEDIA_URL设置为/ static /并在CSS文件的路径中使用它时,如:

<link rel="stylesheet" type="text/css" href="{{MEDIA_URL}}css/css.css" />
Run Code Online (Sandbox Code Playgroud)

它指向/static/css.css,但尝试http://localhost/static/css.css给出404错误.

我有设置:

.....
MEDIA_ROOT = ''
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
# Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
MEDIA_URL = '/static/'

# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
STATIC_ROOT = 'D:/programming/django_projects/ecomstore/'
.....
Run Code Online (Sandbox Code Playgroud)

在urls.py中,我指向静态,如下所示:

url(r'^static/(?P<path>.*)$', 'django.views.static.serve',
     {'document_root':'D:/programming/django_projects/ecomstore/'}
Run Code Online (Sandbox Code Playgroud)

那问题出在哪里?为什么显示404,我是否需要为静态文件创建一些视图?或者我的设置或urls.py还有其他问题吗?任何回应都将受到赞赏,因为我是django的新手.

提前致谢

Chr*_*att 6

您需要更密切地重新阅读文档:https://docs.djangoproject.com/en/dev/howto/static-files/

这里有一些注意事项:

  1. MEDIA_URLMEDIA_ROOT用于用户上传(模型上的FileFields和ImageFields).它应该是它自己的文件夹; "媒体"很常见.

  2. STATIC_URLSTATIC_ROOT为您的静态资源.它也应该是它自己的文件夹; "静态"很常见.

  3. 千万不能居然把任何东西STATIC_ROOT.此目录仅用于collectstatic生产中管理命令的输出.

  4. 您的静态资源应该放在应用程序的"静态"文件夹全新的不同目录中(即不是MEDIA_ROOTSTATIC_ROOT).然后,您将该目录的路径添加到STATICFILES_DIRS.

  5. 不要向urls.py添加任何内容.在开发过程中,Django将自动为您的应用程序"静态"目录或其中的任何目录提供任何服务STATICFILES_DIRS.在生产中,您的网络服务器将负责提供这些文件.