我想在我的应用程序中对azure app服务执行Django migrate命令,
$ python manage.py migrate
但我不知道该怎么做。
答案 0 :(得分:4)
作为常见场景,我们利用虚拟环境处理python脚本,如official guide所示。如果是这样,如果我们使用Azure Python运行时来运行命令,则可能会引发异常,因为缺少依赖性。
通常,我们可以利用您的Web Apps或Visual Studio Online扩展的Kudu控制台站点来修改脚本或执行命令。
https://<your_web_app_name>.scm.azurewebsites.net/DebugConsole
d:\home\site\wwwroot
这是您的应用程序的根目录。 env\Scripts\python.exe manage.py migrate
(假设您的虚拟环境在根目录中为env
)open console
按钮以打开命令的cmdlet,您可以在左侧导航栏中找到此按钮。 如有任何疑问,请随时告诉我。
答案 1 :(得分:2)
您可以在Azure Web应用程序中运行Python代码。您必须确保为应用程序启用了Python:
然后 - 您可以将您的呼叫包裹在批处理脚本中的python manage.py migrate
,并在您的webapp的启动任务中调用它。
此处描述了启动任务:https://azure.microsoft.com/en-us/documentation/articles/cloud-services-startup-tasks/以及它归结为您必须将批处理脚本与应用程序捆绑在一起,并修改ServiceDefinition.csdef
并在XML中添加启动任务这样:
<Startup>
<Task commandLine="Startup.cmd" executionContext="limited" taskType="simple" >
<Environment>
<Variable name="MyVersionNumber" value="1.0.0.0" />
</Environment>
</Task>
</Startup>
答案 2 :(得分:0)