出于某种原因,django没有提供我的静态文件。
我已经看了一堆修复这个问题,但我仍然没有找到解决方案。
以下是我的配置:
urls.py
urlpatterns = patterns('',
(r'^$', index),
(r'^ajax/$', ajax),
(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': path.join(path.dirname(__file__), 'static')}),
)
字符串
settings.py
STATIC_ROOT = '/home/aurora/Code/django/test/static/'
STATIC_URL = '/static/'
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
# 'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
)
型
导航到http://localhost:8000/static/css/default.css
时
我得到这个错误:'css/default.css' could not be found
个
导航到http://localhost:8000/static/
时
我得到这个错误:Directory indexes are not allowed here.
个
看起来静态目录被Map出来了,但是子目录没有。
7条答案
按热度按时间eni9jsuy1#
开发中:
STATICFILES_DIRS
应具有所有静态文件所在的所有静态目录STATIC_URL
应该是/static/
,如果你的文件在本地机器上,否则把基本URL放在这里,例如。“网址:http://example.com/“INSTALLED_APPS
应包括'django.contrib.staticfiles'
在模板中,加载staticfiles模块:
字符串
生产中:
STATIC_ROOT
,Django使用它来收集来自STATICFILES_DIRS
的所有静态文件型
型
以下列出了更详细的文章:
http://blog.xjtian.com/post/52685286308/serving-static-files-in-django-more-complicated
http://agiliq.com/blog/2013/03/serving-static-files-in-django/的
a0zr77ik2#
试着运行
python manage.py collectstatic
,看看静态文件是在哪里收集的。将其添加到您的
urls.py
并在settings.py
中设置DEBUG=True
字符串
wmtdaxz33#
我不认为你需要你的静态路径在urls.py,删除它,它应该工作。
目前是这样的
字符串
只需删除r'^static行
型
至少在Django1.3和更高版本中是这样的
uurv41yg4#
您可以执行这样的设置,如
1.在settings.py中添加静态目录路径
字符串
参考:https://docs.djangoproject.com/en/3.1/howto/static-files/
1.在urls.py中添加一行代码
型
3htmauhk5#
字符串
wswtfjt76#
我正在使用以下设置:(2021年4月)
当我尝试使用
http://localhost:8000/static/test.txt
访问Django中的静态文件时,如果静态文件夹中存在test.txt文件。1.打开主项目文件夹中的
setting.py
文件,然后1.最后将此代码粘贴到
settings.py
中:字符串
然后重新启动VS Code。
hmtdttj47#
这里的主目录名是mysite,应用程序名是polls(polling_app project Django tutorial)。
1.在主文件夹(mysite)中创建一个静态文件夹。
1.我们可以在静态文件夹中添加静态文件(如JavaScript,imagefile,css等)。
1.在创建静态文件夹后,我们必须通过在settings.py中添加下面的行来通知Django(在STATIC_URL = '/static/'行下面)
现在告诉django查看你添加的静态文件。#在settings.py文件顶部添加导入操作系统
os.path.join(BASE_DIR,'mysite/static/')
]
在terminal中运行此命令以收集项目中的所有静态文件。
运行服务器,如果需要,添加端口名。