Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django 1.7 Ubuntu 14.04如何在azure上部署Django站点?_Python_Django_Git_Ubuntu_Azure - Fatal编程技术网

Python Django 1.7 Ubuntu 14.04如何在azure上部署Django站点?

Python Django 1.7 Ubuntu 14.04如何在azure上部署Django站点?,python,django,git,ubuntu,azure,Python,Django,Git,Ubuntu,Azure,我正在尝试将我的Django站点部署到Azure云,但它不起作用。到目前为止,我已经完成了这里的教程(),但运气不好 我创建了我的网络应用程序。我做了一个Django应用程序。我使用的是Ubuntu 14.04、Django 1.7、Git和Python 2.7.6 我的本地django站点的根目录是 /home/user/Documents/Aptana Studio 3 Workspace/Mysite/ 我进入目录并执行以下命令 sudo git init sudo git add .

我正在尝试将我的Django站点部署到Azure云,但它不起作用。到目前为止,我已经完成了这里的教程(),但运气不好

我创建了我的网络应用程序。我做了一个Django应用程序。我使用的是Ubuntu 14.04、Django 1.7、Git和Python 2.7.6

我的本地django站点的根目录是

/home/user/Documents/Aptana Studio 3 Workspace/Mysite/
我进入目录并执行以下命令

sudo git init
sudo git add .
sudo git commit -m "comment"
sudo git remote add azure https://username@mysite.scm.azurewebsites.net:443/mysite.git
sudo git push azure master
然后,它进行部署,并显示它正在复制文件,但在复制几次后会这样说

remote: Omitting next output lines...
remote: Finished successfully.
remote: Deployment successful.
但它并没有显示所有的文件都在上传

在azure门户中,它说网站已经部署,但当我转到链接时,我没有得到我的网站;相反,我得到的是Django默认网站

我需要的是像这样的事情-

sudo python manage.py runserver
并让服务器在指定的地址()部署网站


它没有那样做。我想知道出了什么问题,你们是否可以帮忙。

因此,您需要设置Azure环境,以便知道在哪里查找wsgi.py文件。如果尚未设置,还需要设置要使用的生产设置文件,因为模板、静态文件等的路径将被禁用。目前(根据您的描述)您所做的只是将站点复制到Azure环境中

导航到该地址并获得默认的django站点通常意味着您正在获得Azure(以及其他一键部署)将为您安装的默认django应用程序。现在,我怀疑Web服务器指向的是Wsgi.py,而不是您的项目。当你在Azure应用程序下查看时,你的目录中有什么

在azure上设置django的步骤如下。关于如何管理本地/生产设置问题,有很多选项,
例如,从你所说的话中不清楚你是否同步了数据库。(我还注意到,您链接的教程似乎建议使用devserver,这是一个糟糕的想法。)

编辑: 好的,以同样的方式在Azure上安装了我的项目,我有同样的问题-默认项目优先。我将文件传输到服务器中,您可以看到结构-DjangoWebProject是由Azure安装程序创建的

如果查看web.2.7.config,您将看到以下内容:

<appSettings>
    <add key="WSGI_ALT_VIRTUALENV_HANDLER" value="django.core.wsgi.get_wsgi_application()" />
    <add key="WSGI_ALT_VIRTUALENV_ACTIVATE_THIS" value="D:\home\site\wwwroot\env\Scripts\activate_this.py" />
    <add key="WSGI_HANDLER" value="ptvs_virtualenv_proxy.get_virtualenv_handler()" />
    <add key="PYTHONPATH" value="D:\home\site\wwwroot" />
    <add key="DJANGO_SETTINGS_MODULE" value="DjangoWebProject.settings" />

我认为这里的问题是,它指向了错误的设置文件——在我的示例中,如果我将其更改为“fieldwork.fieldwork.settings”,那么我认为它将选择正确的设置,从而选择正确的WSGI文件。(您可以在此处查看我的WSGI文件设置:

DjangoWebProject.settings文件中的设置为:


最后,我所做的是(费力地…)用我自己的设置替换DjangoWebProject中的文件,等等。这很有效,但显然是一个黑客行为,因此我的诊断是(指向设置的Azure代理设置,以及wsgi.application文件)指向错误的项目是正确的,但我不明白为什么该站点的说明没有作为部署的一部分覆盖它-或者,就这一点而言,如何更改它。但这可能会缩小范围…

因此azure webapp站点本身让您部署git repo。选择本地git repo。然后,等待它加载详细信息。按照他们给你的说明进行操作,但是如果你有任何依赖项,请确保pip freeze>requirements.txt并消除所有多余的依赖项。(你可能需要搜索如何正确安装一些依赖项的答案[如mysql.connector])。之后,转到您想要放在您制作的django webapp上的目录,并按照azure中提供的说明操作。将密码输入

转到Web应用程序的仪表板。单击下载发布设置,该设置将为您提供一个包含一些重要信息的.txt文件

下载或打开filezilla。插入publish settings.txt文件中提供的publishUrl(某些ftp://url)。插入用户名。插入userPWD。选择连接

在此之后,我知道这只是一个创可贴类型的解决方案,进入DjangOWEBProject并将Stutux.Py替换为Stutux.Py在您的项目目录中。对该文件夹中的其他文件(URLS.PY、WSGI.Py等)进行同样的处理< /P> 之后,您可以加载页面,但您可能没有创建的漂亮页面

在这一点上,进入静态文件夹,它会自动出现,并将所有静态目录放在那里


在此之后,您将拥有一个漂亮的页面(希望)与您创建的页面相匹配。之后,请确保您将更改提交给本地回购,之后的每一次推送都会很好地部署。

这没有帮助。我转到了“此处规范文档”链接我一步一步地做每件事,但我遇到的一个问题是,当它告诉我键入env/bin/pip install-r requirements.txt时——我没有requirements.txt文件。我尝试将远程repo和cd克隆到目录中,并将该文件推送到主机上,但我没有运气。不过,有一件事发生了变化,那就是网络网站不像我第一次创建应用程序时那么漂亮。它没有背景和图片,没有文本和链接。哦,好吧-如果你没有requirements.txt文件,那么如果你在本地repo中使用'pip freeze>requirements.txt,它会为你生成一个-但不确定这对你有帮助!我会在晚饭后回来我做了pip freeze>requirements.txt和git推送azure master,它说一切都是最新的,但我的网站仍然没有加载。好的,我做了git添加。git commit-m“让我们再试一次”和git推送azure master,它运行了一个漫长的过程来下载所有必需的东西,但它说