web-dev-qa-db-ja.com

クローンDjangoプロジェクトを実行するには?

私はジュニアのソフトウェアエンジニアであり、Djangoの初心者です。私は このアプリ を作成し、README=自分のマシンでアプリをフォーク、クローン、セットアップする方法を説明するために取り組んでいます。ステップを再作成しようとしています。

これは、手順を作成した順序です。

  1. リポジトリをフォークしてクローンする
  2. 仮想環境を入手する
  3. Pip install requirements.txt
  4. Access_tokenとsecret_keyを取得し、secrets.shに保存します
  5. Postgres DBのセットアップ、ユーザーとデータベースの作成
  6. 移行(?)-ここで行き詰まります!

アプリを移行しようとしましたが、適用する移行はありません。

'Django-admin startproject ig_miner_appを試しました。しかし、このエラーコードを取得しています:

「CommandError:/Users/Erin/Desktop/CodeByEAllard/project/instagram_miner/manage.pyは既に存在します。プロジェクトまたはアプリを既存のディレクトリにオーバーレイしても、競合するファイルは置き換えられません」

これを整理できれば、通常のようにサーバーを実行できるはずです。

私は何か(または多くのもの)を見逃していると確信していますが、それらが何であるかを知りません。そもそもアプリを作成できたことは明らかだったが、同じことをするために他の誰かに説明する方法がわからないので、私は馬鹿げていると感じる!サーバーを実行する方法についての提案はありますか?

ありがとうございました!

18
allardbrain

まず、クローンプロジェクトと同じディレクトリ内でプロジェクトを開始しているため、このエラーが発生しています。このディレクトリには、ig_miner_appという名前のアプリが既に含まれているため、名前が競合しています。

他のユーザーがプロジェクトを実行する手順については、これでうまくいくはずです。

プロジェクトを複製する

git clone https://github.com/erinallard/instagram_miner.git 

仮想環境を作成して開始する

virtualenv env --no-site-packages

source env/bin/activate

プロジェクトの依存関係をインストールします。

pip install -r requirements.txt

「secrets.sh」という名前のファイルを作成します

touch secrets.sh(macおよびlinux)

MiniWebTool keyからシークレットを取得し、secrets.shに追加します

export SECRET_KEY='<secret_key>'

secrets.shを.gitignoreファイルに追加します

postgres dbを作成し、資格情報をsettings.pyに追加します

DATABASES = {
    'default': {
        'ENGINE': 'Django.db.backends.postgresql_psycopg2',
        'NAME': 'db_name',
        'USER': 'name',
        'PASSWORD': '',
        'Host': 'localhost',
        'PORT': '',
    }
}

その後、実行します

python manage.py migrate

管理者アカウントを作成する

python manage.py createsuperuser

それから

python manage.py makemigrations ig_miner_app

アプリの移行を行う

その後、再び実行します

python manage.py migrate

開発サーバーを起動する

python manage.py runserver

ブラウザでlocalhost:8000を開いてアプリを表示します。

これにより、アプリが起動して他のマシンで実行されるはずです。これらのステップのいずれかにこだわっている場合はお知らせください。編集を行います。そうでない場合は、それを使用して、追加していない可能性のあるその他の関連情報を追加します。

@allardbrain様、Wonderful World of Developmentへようこそ^ _ ^

私の希望はこの問題が今までに解決されていることですが、もし可能なら、すぐに何かを再検討しましょう。

'Django-admin startproject ig_miner_appを試しました。しかし、このエラーコードを取得しています:

「CommandError:」yadda yadda yadda ...

Djangoには実際に素晴らしいドキュメントがあります。その背後にいるのは、実際には作家やジャーナリストであり、典型的なCSの男ではありません。

私が言いたいのは、何か新しいことを学ぶとき、ドキュメントを読むことです。 To-Do Appチュートリアルを実行します。その理由は..

Django-admin startproject

既存のアプリケーションの作業コピーをプルする場合、これはすでに満たされています。あなたの懸念は何よりもまずこのファイルにあるべきです...

requirements.txt

これは、devDependenciesが要求を述べる場所です。

package.json 

とにかく、私がこれを言っているのは、キャリアの最初の数年を頑固に過ごし、しばしばドキュメントをざっと読み、自分の頭痛の種を作り、その下手なお尻を監督する仕事をしているからです:- )それらの...

乾杯

1
Abraxas

あなたが言ったように、レポのクローンを作成したら、要件をインストールする必要があります

pip install -r requirements.txt

その後、データベースを構成する必要があります。詳細をsettings.pyに追加します

それが完了し、キーとシークレットを入手したら、移行してから移行する必要があります。

appディレクトリにcdして実行します

python manage.py makemigrations

複製したコードで既に定義されているモデルの移行ファイルを作成します。その後、あなたは走らなければなりません

python manage.py migrate

データベーステーブルを実際に作成する移行を適用します。

モデルに変更を加えたり、モデルやフィールドを追加したりした後、最後の2つのコマンドを再度実行する必要があります。

0
sprksh

My IDEは、プロジェクトディレクトリ内にvenvが存在する場合、gitからクローンを作成するときに継続的にエラーが発生するようになったときにvenvを自動アクティブ化するようです。

ModuleNotFoundError: No module named ''

元のvenvを手動で削除し、新しい仮想envを作成してから、これらのコマンドを実行する必要がありました。後にPyCharmのように働いた:)

pip install -r requirements.txt

python manage.py collectstatic

0
TechBrad

アプリ名をmigrateコマンドに渡してみてください:

manage.py migrate ig_miner_app
0
ahmed

GitHubからプロジェクトを複製した後、次の手順を実行します。

pip3 install virtualenv
virtualenv -p python3 env
source env/bin/activate
pip install Django
django-admin startproject <mysite>
python manage.py startapp polls 
python manage.py runserver
on terminal: python manage.py makemigrations <app_name>
python manage.py migrate

これらは私のシステムでは問題なく動作します。

0
Nidhi Garg