Azure Web App中Django项目位置无法找到及数据库迁移操作疑问
问题解答
1. 免费订阅是否会导致找不到项目文件夹?
不会。Azure App Service(包括免费层)完全支持通过Kudu控制台访问项目文件,找不到文件夹和订阅类型无关。
2. 快速定位manage.py的方法
- 进入默认部署目录:打开Kudu控制台后,先执行
cd /home/site/wwwroot,这是App Service部署代码的默认根目录,用ls(Linux)或dir(Windows)查看文件列表,大概率能找到manage.py。 - 递归搜索文件:如果默认目录没有,执行递归搜索命令:
该命令会遍历整个# Linux环境 find /home -name "manage.py" # Windows环境 dir /s /b manage.py/home目录,输出所有manage.py的路径。
3. 执行Django命令的正确流程
找到manage.py所在目录后,按以下步骤操作:
- 激活虚拟环境(如果部署时用了虚拟环境):
# Linux环境,虚拟环境一般在venv目录下 source /home/site/wwwroot/venv/bin/activate # Windows环境 venv\Scripts\activate.bat - 执行数据库迁移命令:
若提示python manage.py makemigrations python manage.py migrate python manage.py createsuperuserpython命令不存在,替换为python3重试。
4. 其他排查方向
- 检查部署日志:在Azure Portal的App Service「部署中心」查看部署记录,确认代码是否完整上传,有没有遗漏manage.py所在的项目目录。
- 容器部署特殊处理:如果是用容器部署的Django应用,需在Kudu的「Docker」菜单进入容器终端,再查找manage.py。
- 权限排查:若遇到文件访问报错,Linux环境可执行
chmod -R 755 /home/site/wwwroot调整目录权限(免费层默认权限足够,此为特殊情况处理)。
内容的提问来源于stack exchange,提问作者RichardW
相关产品推荐
相关产品推荐

