TIL31 - Starbucks with Django(2/3)
Starbucks with Django
全編 ..そして...設定が完了したら、本章で
1.バニラのアップロード
2.Djangoアプリケーションの起動
この二つのことをするつもりです.
1. git
まずリポジトリを作成
v_westarという名前のリポジトリを作成しました.
(たぶん本当に新しく作ったもので、何もないイメージ)
そしてgitコマンドを端末で実行します
まず、実行プロセスの画像を見てみましょう.
1. git init
gitにコマンドを入力
2. git add .
アップロードするファイルをカートに入れ、アップロードするディレクトリファイルを準備します
3. git commit -m message
送信時には、通常、メールに変更された内容が書かれます.
私は初めてアップロードしたとメッセージを送った.
4. git remote add origin url
タグURLをリポジトリとして指定
5. git push origin master
タスクが完了したことを通知するには、pushを使用して襟に掛けてください.
これでこのように上がってきたことがわかります
1-1. gitignore
前の文章のmy settings.pyは重要な情報を含んでいます
そんな書類を書いた.
しかし、Gitにファイルがアップロードされると、誰もがそれを見ることができます.
gitに乗れません.
だから使ったのはgitignoreファイル.
まず、プロジェクトの最上位ディレクトリにこのファイルを作成します.
touch .gitignore
ネット上のgitinoreもioを検索してキーワードを入力して生成
そうするとこのように出てきますが、内容はコピーされますgitignoreに貼り付け
次に、このファイルにmy settingsを設定します.pyを入力して保存すると終了します
1-2. branch
今、ワークスペースとしてブランチをインストールする必要があります.
git checkout -b b1
このように入力すると、b 1というブランチを作成し、私のワークスペースをブランチに変更することを意味します.
1-3. push
今提出してPushを試してみましょう.
ただし、コミット後に次のコマンドを入力する必要があります.
git push origin b1
これは、ブランドb 1の襟にアップロードすることを意味します.
これでpull requestが来て、
ブランチで働いているものをプライマリノードにマージしたいからです.
つまり、みんなに要求すべきだということです.
これで私が書いた情報がタイトルになります.
マスターがrequestを受け入れるために内容に文章を残したのです.
リクエストを受け入れた後、「Merge Pull Request」をクリックして最後のマージを完了します.
my settingsかと思ったけどPyは生きてる
1-4. gitの削除
だから襟を置いてアップロードすることにしました.
プロジェクトの場所に、次のコマンドを入力します.
rm -rf .git
そして羽根初期化から再開
1. git init
2. git add .
3. git commit -m message
4. git remote add origin URL
5. git push origin master -f
(fが強制的に実行されることを示す)
これでファイルが再アップロードされます.my settings.pyはありません!
2.アプリケーションの作成
次のコマンドを入力して設定します.pyの変更
python manage.py startapp products#settings.py
INSTALLED_APPS = [
...
'products',
]
3. DB Modeling
こちらです。ドラムストリームを表示するときに、モデル(models.py)からDBにアクセスします.
彼はデータを管理/操作すると言った.
今はモデルpy上でスターバックスデータベースをモデリングしましょう.
誰かが見るかどうかは分からないが、見ても上のコードを見る人がいるような気がします.
テーブルについて説明しないでスキップしましょう#models.py
from django.db import models
# Create your models here.
class Menu(models.Model) :
name = models.CharField(max_length=20)
class Meta :
db_table = 'menus'
class Category(models.Model) :
menu = models.ForeignKey('Menu',models.CASCADE)
name = models.CharField(max_length=20)
class Meta :
db_table = 'categories'
class Nut(models.Model) :
one_serving_kcal = models.DecimalField(max_digits=6,decimal_places=2)
sodium_mg = models.DecimalField(max_digits=6,decimal_places=2)
saturated_fat_g = models.DecimalField(max_digits=6,decimal_places=2)
sugars_g = models.DecimalField(max_digits=6,decimal_places=2)
protein_g = models.DecimalField(max_digits=6,decimal_places=2)
caffeine_mg = models.DecimalField(max_digits=6,decimal_places=2)
size_ml = models.CharField(max_length=20)
size_fluid_ounce = models.CharField(max_length=20)
class Meta :
db_table = 'nutritions'
class Product(models.Model) :
category = models.ForeignKey('Category', on_delete=models.CASCADE)
kor_name = models.CharField(max_length=20)
eng_name = models.CharField(max_length=20)
desc = models.TextField()
nutr = models.OneToOneField('Nut', on_delete=models.CASCADE)
class Meta :
db_table = 'products'
class Images(models.Model) :
img_url = models.CharField(max_length=2000)
product = models.ForeignKey('Product', on_delete=models.CASCADE)
class Meta :
db_table = 'image'
class Allergy(models.Model) :
name = models.CharField(max_length=1000)
class Meta :
db_table = 'allergy'
class allergyProducts(models.Model) :
allergy = models.OneToOneField('Allergy', on_delete=models.CASCADE)
product = models.OneToOneField('Product', on_delete=models.CASCADE)
class Meta :
db_table = 'allergyProducts'
次の移行を行う前にmakemigrationでチェックしてください
python manage.py makemigrations products
次にproductsフォルダのサブフォルダにmigrationsフォルダを作成します.
0001 initialsに入ると、テーブル構造が表示されます.
しかし不思議なことに、私はとっくに分類表にメニューバーを追加していました.
なぜテーブルが作成され、コラムが追加されるのかを見てみましょう.
テーブルの生成順序は、私の入力ではなく英語です.
テーブルの作成->カラムの作成はこのようなものです.
その後異常がなければ、migrationを行います
python manage.py migrate
0001ファイルで確認したDB構造に対してテーブルを生成した
それではデータをそのまま入れると最后の第3弾です.
Reference
この問題について(TIL31 - Starbucks with Django(2/3)), 我々は、より多くの情報をここで見つけました
https://velog.io/@kyleee/TIL31-Starbucks-with-Django23
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
#settings.py
INSTALLED_APPS = [
...
'products',
]
#models.py
from django.db import models
# Create your models here.
class Menu(models.Model) :
name = models.CharField(max_length=20)
class Meta :
db_table = 'menus'
class Category(models.Model) :
menu = models.ForeignKey('Menu',models.CASCADE)
name = models.CharField(max_length=20)
class Meta :
db_table = 'categories'
class Nut(models.Model) :
one_serving_kcal = models.DecimalField(max_digits=6,decimal_places=2)
sodium_mg = models.DecimalField(max_digits=6,decimal_places=2)
saturated_fat_g = models.DecimalField(max_digits=6,decimal_places=2)
sugars_g = models.DecimalField(max_digits=6,decimal_places=2)
protein_g = models.DecimalField(max_digits=6,decimal_places=2)
caffeine_mg = models.DecimalField(max_digits=6,decimal_places=2)
size_ml = models.CharField(max_length=20)
size_fluid_ounce = models.CharField(max_length=20)
class Meta :
db_table = 'nutritions'
class Product(models.Model) :
category = models.ForeignKey('Category', on_delete=models.CASCADE)
kor_name = models.CharField(max_length=20)
eng_name = models.CharField(max_length=20)
desc = models.TextField()
nutr = models.OneToOneField('Nut', on_delete=models.CASCADE)
class Meta :
db_table = 'products'
class Images(models.Model) :
img_url = models.CharField(max_length=2000)
product = models.ForeignKey('Product', on_delete=models.CASCADE)
class Meta :
db_table = 'image'
class Allergy(models.Model) :
name = models.CharField(max_length=1000)
class Meta :
db_table = 'allergy'
class allergyProducts(models.Model) :
allergy = models.OneToOneField('Allergy', on_delete=models.CASCADE)
product = models.OneToOneField('Product', on_delete=models.CASCADE)
class Meta :
db_table = 'allergyProducts'
Reference
この問題について(TIL31 - Starbucks with Django(2/3)), 我々は、より多くの情報をここで見つけました https://velog.io/@kyleee/TIL31-Starbucks-with-Django23テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol