【发布时间】:2018-10-21 18:31:58
【问题描述】:
我在提供静态文件时遇到问题。使用 django 2.0
这是设置文件,
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR),'static')
STATIC_URL = '/static/'
我运行 collectstatic,然后将每个静态文件复制到 STATIC_ROOT 文件夹中。
问题是正在提供管理静态文件和休息框架,但不是我添加的那些。
(env) luvpreet@nfs:~/myntracms/myntracms$ python manage.py shell
Python 3.6.5 (default, Mar 29 2018, 03:28:50)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.conf import settings
>>> settings.BASE_DIR
'/home/luvpreet/myntracms/myntracms/myntracms'
看到这个,
luvpreet@nfs:~/myntracms/myntracms/static$ pwd
/home/luvpreet/myntracms/myntracms/static
luvpreet@nfs:~/myntracms/myntracms/static$ ls
admin debug_toolbar djcelery images js rest_framework
luvpreet@nfs:~/myntracms/myntracms/static$
管理静态文件工作,
但是我的文件没有被提供,
即使我将文件粘贴到管理文件夹中,它们仍然没有被提供。
luvpreet@nfs:~/myntracms/myntracms/static/admin/js$ ls | grep home
home.png
不过,
【问题讨论】:
-
您是否在开发模式下运行(即
python manage.py runserver)。如果是,您需要在您的urls.py中包含urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) -
你是用 nginx 还是 apache2 设置的?