Django runserver在开发中不提供静态文件
我正在使用Django和Django runserver在开发中不提供静态文件,django,django-staticfiles,static-files,Django,Django Staticfiles,Static Files,我正在使用Django和runserver进行开发。当我部署到生产服务器时,我可以看到所有静态文件,但不能在本地计算机上看到 我做了collectstatic,并且设置了DEBUG=True 我在网上发现了许多不同的观点,最突出的是静态文件\u DIRS,但这对我来说并不适用 如何设置它,以便在我的开发环境中可以看到静态文件,并且当我将文件上载到服务器时,不需要对生产环境进行任何更改即可正常工作 编辑-myurl.py文件: from django.conf.urls import patter
runserver
进行开发。当我部署到生产服务器时,我可以看到所有静态文件,但不能在本地计算机上看到
我做了collectstatic
,并且设置了DEBUG=True
我在网上发现了许多不同的观点,最突出的是静态文件\u DIRS
,但这对我来说并不适用
如何设置它,以便在我的开发环境中可以看到静态文件,并且当我将文件上载到服务器时,不需要对生产环境进行任何更改即可正常工作
编辑-myurl.py
文件:
from django.conf.urls import patterns, include, url
from django.conf.urls.static import static
import newsflashes
import settings
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^', include('newsflashes.urls')),
) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
编辑-文件结构:
我有两个目录,静态和动态。在static中是静态文件,在dynamic目录中是django应用程序
编辑-设置:
我的相关设置如下
STATIC_ROOT = os.path.join(BASE_DIR, '..', 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = ()
我设法把它修好了
我在名为static的项目文件夹中创建了另一个名为static的目录,并在那里复制了我的静态文件
我接着补充说:
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
import settings
if settings.DEBUG:
urlpatterns += staticfiles_urlpatterns()
到我的url.py
及
到mysettings.py
然后,当我部署时,我执行manage.py collectstatic
,因为Apache配置正确,所以一切都能正常工作
基于
谢谢大家。您是否已经在
URL.py中添加了相应的行
是的,我在问题中添加了URL文件您应该告诉我们您的设置(STATIC\u ROOT、STATIC\u URL、STATICFILES\u DIRS)和STATIC files location添加到上述问题中。我应该添加其他内容吗?为了澄清,在settings.py中确保DEBUG设置为true,然后在url.py中添加上面的url.py代码。我只需将STATICFILES\u DIRS指向我的(源)静态文件DIRS。在这之后,运行collectstatic收集文件,然后runserver将为它们提供服务。感谢您的提示:)默认情况下,这已包含在
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)