0

效率不高:)。

我正在尝试通过构建一个简单的应用程序来学习 django。我在 webfaction 上购买了一个托管计划,在我的 Windows 机器上设置了 github 帐户和一个 putty。我正在我的 Windows 上编写“代码”,将其推送到 github repo,然后通过 putty 连接到我的 webfaction 帐户以从 github 中提取。

这是一个非常乏味和无聊的过程,我不禁想知道我做错了什么。即使修正一个简单的错字也需要很多时间。开发人员是否使用 vim 在服务器端编写所有内容?这听起来更不令人鼓舞。我可以做些什么来改善我的工作流程吗?专业人士是怎么做的?

4

2 回答 2

2

总结 Kit Sunde 的回答:在实际部署站点之前,您不应该部署到服务器。正常的开发和测试是在本地完成的,使用manage.py runserver本地数据库。这在 Windows 上运行良好。

于 2012-06-25T18:09:48.700 回答
1

如果您在服务器上编辑代码,您需要停止浪费自己的时间。您不应该以这种方式部署代码的原因有很多,最重要的是您会浪费时间,而且重要的是您会在用户查看站点时破坏事物。

在本地设置开发服务器,这就是 djangomanage.py runserver 存在的原因。如果您由于某种原因无法在 Windows 上运行它,则在 virtualbox 中安装服务器,将文件夹安装在您的代码所在的 Windows 中并运行它(这是我们为设计师所做的,尽管我们有很多依赖项)。

有 IDE 可以让你通过一个你可能会觉得更舒服的 GUI 运行 Django,我使用PyCharm,我听说过的好消息。

如果您了解了Fabric的工作原理,那么您将节省时间,以便您可以自动化您的部署过程。我不确定织物在 Windows 上的效果如何,但我相信你可以使用或类似工具来让它工作。

一个相当基本的例子是这个:

from fabric.api import *

env.hosts = ['ubuntu@example.org']

def deploy():
    pid_file = "~/myproject/process.pid"
    with cd('~/myproject/'):
        run('git pull')
        run('src/city_nomads/manage.py collectstatic --noinput')
        # If the process isn't up we don't want the thing to exit.
        with settings(warn_only=True):
            run("cat {} | xargs kill -TERM".format(pid_file))
        run("src/myproject/manage.py runfcgi "
                "method=threaded "
                "host=127.0.0.1 "
                "port=8000 "
                "pidfile={} "
                "--settings=myproject.settings_release".format(pid_file))

它会通过 SSH 连接到我的服务器,拉取源代码,收集静态数据,如果进程存在则终止该进程,然后将 django 作为 fastcgi 运行。我假设您已设置以在端口 8000 上连接到 Django。

于 2012-06-25T17:36:57.437 回答