You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure App Service部署非根目录Django应用遇404问题求助

Django部署Azure App Service出现404问题排查方案

1. 修正Azure App Service启动命令

由于Django应用不在仓库根目录,启动命令必须指定正确的项目入口路径。例如应用位于src目录下,需将启动命令修改为:
gunicorn --bind=0.0.0.0 --workers=4 src.wsgi
操作路径:Azure门户 → 目标App Service → 配置 → 常规设置 → 启动命令。

2. 检查Django settings.py关键配置

  • ALLOWED_HOSTS:必须包含App Service域名(如<你的应用名>.azurewebsites.net),测试阶段可临时设为['*'],生产环境需指定具体域名。
  • 静态资源配置:若静态文件访问404,需确保:
    STATIC_URL = '/static/'
    STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
    
    同时在部署脚本中执行collectstatic命令(需切换到应用目录)。

3. 验证GitHub Actions脚本的工作目录

因应用不在根目录,所有涉及Django命令的步骤需指定working-directory到应用所在路径,示例:

- name: 安装依赖
  working-directory: ./src
  run: |
    python -m pip install --upgrade pip
    pip install -r requirements.txt
- name: 收集静态文件
  working-directory: ./src
  run: python manage.py collectstatic --noinput

4. 确认Django路由配置

检查项目根urls.py是否包含根路径的路由映射,例如:

from django.urls import path
from .views import index

urlpatterns = [
    path('', index, name='home'),
]

确保根路径有对应的视图处理请求。

5. 排查虚拟应用程序路径(若涉及子路径访问)

若通过子路径访问应用,需在Azure门户 → App Service → 配置 → 路径映射中添加虚拟应用程序,将子路径指向应用的部署目录。

内容的提问来源于stack exchange,提问作者ayitinya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 20:55:26