0

効率的ではありません:)。

簡単なアプリを作成してdjangoを学ぼうとしています。私は webfaction でホスティング プランを購入し、github アカウントをセットアップし、Windows マシンにパテを作成しました。Windowsで「コード」を作成し、それをgithubリポジトリにプッシュしてから、パテを介してwebfactionアカウントに接続してgithubからプルしています。

これは非常に退屈で退屈なプロセスであり、何か間違ったことをしているのではないかと思わずにはいられません。単純なタイプミスを修正するだけでも、かなりの時間がかかります。開発者は vim を使用してすべてをサーバー側で作成していますか? この音は、さらに心強いものではありません。ワークフローを改善するために何かできることはありますか? 専門家はどのようにそれを行うのですか?

4

2 に答える 2

2

Kit Sunde の答えを要約すると、展開するサイトを実際に取得するまで、サーバーに展開するべきではありません。通常の開発とテストはmanage.py runserver、ローカル データベースを使用してローカルで行われます。これは Windows で正常に動作します。

于 2012-06-25T18:09:48.700 に答える
1

サーバー上でコードを編集している場合は、自分の時間を無駄にするのをやめる必要があります。そのような方法でコードをデプロイしてはならない理由はたくさんあります。最も重要な理由は、時間を無駄にすることと、ユーザーがサイトを見ている間に何かを壊してしまうことです。

manage.py runserver 開発サーバーをローカルにセットアップします。これが djangoが存在する理由です。なんらかの理由で Wi​​ndows で実行できない場合は、virtualbox にサーバーをインストールし、コードがある Windows にフォルダーをマウントして実行します (多くの依存関係がありますが、これはデザイナーに対して行うことです)。 )。

より快適なGUIを介してDjangoを実行できるIDEがあります。私はPyCharmを使用しており、 について良いことを聞いています。

展開プロセスを自動化できるように、ファブリックがどのように機能するかを学べば、時間を節約できます。などを使用して機能させることができると確信しています。

かなり基本的な例は次のとおりです。

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 で接続し、ソースを取得し、collectstatic を実行し、プロセスが存在する場合はそのプロセスを強制終了してから、django を fastcgi として実行します。またはをセットアップしていると仮定しています。

于 2012-06-25T17:36:57.437 に答える