未加载生产中的Django静态文件
我的Django应用程序中的静态文件有问题 我用Django REST框架和Angular 6创建了一个简单的博客应用程序。它在我本地的开发环境中运行良好,但我在将其部署到生产环境中时遇到了问题。问题是,应用程序正在加载(我知道这是因为根路由是到/app的重定向,并且我被正确重定向),但是没有加载静态文件 以下是与静态文件相关的部分配置:未加载生产中的Django静态文件,django,django-staticfiles,Django,Django Staticfiles,我的Django应用程序中的静态文件有问题 我用Django REST框架和Angular 6创建了一个简单的博客应用程序。它在我本地的开发环境中运行良好,但我在将其部署到生产环境中时遇到了问题。问题是,应用程序正在加载(我知道这是因为根路由是到/app的重定向,并且我被正确重定向),但是没有加载静态文件 以下是与静态文件相关的部分配置: STATIC_URL = '/static/' BASE_DIR = os.path.join( os.path.dirname(os.path.di
STATIC_URL = '/static/'
BASE_DIR = os.path.join(
os.path.dirname(os.path.dirname(__file__)), '..', '..', '..'
)
STATIC_ROOT = os.path.join(BASE_DIR, 'app', 'static')
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'frontend'),
]
INSTALLED_APPS = [
...
'django.contrib.staticfiles'
...
]
路径是正确的,我对它们进行了三次检查以确保正确。以下是Django应用程序中配置的路由:
urlpatterns = [
url('^api/', include(api_patterns)),
url('^admin/', admin.site.urls),
url('^app/', serve, kwargs={'path': 'index.html'}),
url('^$', HomepageView.as_view(), name='homepage-redirection'),
]
我能够运行manage.py collectstatic
,没有任何错误,并且所有静态文件都已正确复制到静态目录。管理员应用程序的静态文件也未正确加载。以下是我的项目中目录的大致结构:
├── app
│ └── (python code here)
├── frontend
│ └── (angular code here)
├── media
│ └── (empty for now)
└── static
└── (static files for Django)
应用服务器是带有Phusion Passenger的nginx(这是由我租用服务器的公司配置的)。我真的不知道我还能在这里补充什么。有人知道这里会出什么问题吗?可能有一些提示是API端点不可访问。我可以访问管理应用程序,但不能访问API(两者都在同一个URL文件中配置)。我以前见过类似信息的可能副本,但我非常确定服务器配置正确。我会再检查一遍。那么您的nginx是否正确配置为提供静态文件所在文件夹中的文件?打开浏览器控制台,查看404错误。路径是你所期望的吗?我能看看你的nginx配置吗?我也猜这是nginx的问题。您确定您的应用程序正在显式地为来自/静态的图像提供服务吗?如果您的angular应用程序也提供了a/static,则可能存在冲突。你能发布你的服务器配置吗?