Djangoの基本的なファイル機能
urls.pyの
URLエントリは、対応するviews.pyの関数(またはジェネリッククラス)に関連付けられており、URLへのアクセスは関数に対応しています。
Views.py
は、ユーザーから送信されたリクエストを処理し、urls.pyからのリクエストに対応します。テンプレートにWebページをレンダリングすることにより、ログイン後のユーザー名やユーザーがリクエストしたデータなどの表示コンテンツは、 Webページに出力できます。
models.pyは
データベース操作に関連しており、データの保存や読み取りに使用します。もちろん、データベースが不要な場合は使用する必要はありません。
forms.py
フォームでは、ユーザーがブラウザにデータを入力して送信し、データの確認と入力ボックスの生成を行います。もちろん、これを使用する必要はありません。
views.py
の関数は、テンプレート内のHtmlテンプレートをレンダリングして、Webページの動的コンテンツを取得します。もちろん、キャッシュを使用して速度を向上させることもできます。
admin.py
バックエンドは、少量のコードで強力なバックエンドを持つことができます。
settings.py
Django設定、DEBUGスイッチなどの構成ファイル、静的ファイルの場所など。
1つは、データベースを構成する
ここでは、例としてmysqlデータベースを取り上げます。最初に、パッケージを__init__。pyにインポートする必要があります。
#使用mysql数据库前,需要导入这个pymysql包
import pymysql
pymysql.install_as_MySQLdb()
次に、settings.pyファイルのデータベースでデータを変更します。具体的な変更は次のとおりです。
使用するライブラリが作成されていない場合は、最初にデータベースでライブラリを定義してから、入力する必要があることに注意してください。自分のデータベースアカウントのパスワード、サーバーIPおよびその他の構成で、djangoのデフォルトのデータベースストレージを使い慣れたmysqlに正常に設定できるようにします。
次に、アプリケーションを作成します
完全なプロジェクトは、多くの小さなアプリケーションに分割する必要があります。コマンドを使用して、ターミナル環境でアプリケーションを作成できます。まず、djangoによって作成されたファイルのプロジェクト(settings.pyを含むフォルダー)に切り込み、コマンドを入力します。 :
python manage.py() startapp myAPP(这里可以给自己的app起名字)
3、アプリケーションをアクティブ化します
メインパッケージのsettings.pyファイルで、myappをINSTALLED_APPSに追加します
第四に、アプリケーションの下でモデルを定義します(テーブルを作成します)
django.dbからインポートし、作成したアプリケーションのmodels.pyにモデルをインポートしてから、クラスを作成し、クラスに独自のテーブルデータフィールドを定義します。ここでは、クラステーブルとstudentテーブルを例として作成します。
from django.db import models
# Create your models here.
class Grades(models.Model):
gname = models.CharField(max_length=20)
gdate = models.DateField()
ggirlnum = models.IntegerField()
gboynum = models.IntegerField()
isDelete = models.BooleanField()
class Students(models.Model):
sname = models.CharField(max_length=20)
sgender = models.BooleanField(default=False)
sage = models.IntegerField()
scontend = models.CharField(max_length=20)
isDelete = models.BooleanField(default=False)
sgrade = models.ForeignKey("Grades", on_delete=models.CASCADE) #定义外键的时候必须定义级联删除
各クラスモデルはmodels.Modelsを継承する必要があり、テーブルデータを定義するときに主キーを定義する必要はありません。主キーは作成時に自動的に生成されます。ここでは、SQLステートメントを使用して各フィールドを定義および制約する必要はありません。モデルのメソッドを使用して制約を行うことができます。この段階で定義されたテーブルは、データベースに生成されません。
5、テーブルを生成します
- 移行ファイルの生成
ターミナル環境で移行ファイルを生成することはできます。まず、プロジェクトフォルダーに移動し、コマンドを入力します(この時点で、移行ファイルは移行ディレクトリに生成されます。この時点でも、データベースは生成します。テーブルがない場合でも、移行ファイルを実行する必要があります。):
python manage.py makemigrations
- 移行ファイルの実行移行ファイルの実行
後、次のコマンドを使用して移行ファイルを実行できます(SQLテーブル作成ステートメントの実行と同等)。
python manage.py migrate
6、テストデータ操作
(以下のプロセスはすべてPythonターミナル環境で実行されます:)
- ターミナル環境のプロジェクトフォルダの場所でコマンドを入力します。
python manage.py shell
そしてパッケージを紹介します:
from myAPP.models import Grades,Students
from django.utils import timezone
from datetime import *
- すべてのデータをクエリする
类名.objects.all()
- データを作成する
创建类:
gra = Grades()
gra.gname = "python01"
...
...
...
gra.gboynum = 70
gra.save() #当执行save()方法时才会将数据存入数据库当中
- オブジェクトを表示する
类名.object.get(pk=2)
- データを変更する
模型对象.属性 = 新值
#修改完之后要使用 save()方法将其写入数据库
- データを削除する
模型对象.delete()
#物理删除