サーバー上でコードを編集している場合は、自分の時間を無駄にするのをやめる必要があります。そのような方法でコードをデプロイしてはならない理由はたくさんあります。最も重要な理由は、時間を無駄にすることと、ユーザーがサイトを見ている間に何かを壊してしまうことです。
manage.py runserver
開発サーバーをローカルにセットアップします。これが djangoが存在する理由です。なんらかの理由で Windows で実行できない場合は、virtualbox にサーバーをインストールし、コードがある Windows にフォルダーをマウントして実行します (多くの依存関係がありますが、これはデザイナーに対して行うことです)。 )。
より快適なGUIを介してDjangoを実行できるIDEがあります。私はPyCharmを使用しており、 Eclipseについて良いことを聞いています。
展開プロセスを自動化できるように、ファブリックがどのように機能するかを学べば、時間を節約できます。Fabric が Windows でどの程度うまく機能するかはわかりませんが、 cygwinなどを使用して機能させることができると確信しています。
かなり基本的な例は次のとおりです。
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 として実行します。ポート 8000 で Django に接続するようにnginxまたはapacheをセットアップしていると仮定しています。