残りのフレームワークのMySQL django2接続の実装

1.プロジェクトジャンゴ管理者startprojectのdjango2を作成し、pymysql、はmysqlclientをインストールします。

構成データベースに置き換え2.settings

データベースは= { 
'デフォルト':{
'ENGINE': 'django.db.backends.mysql'、
'NAME': 'djangodb'、
'USER': 'ルート'、
'パスワード': 'XXX'、
'ホスト': '127.0.0.1'、
'PORT': '3306'、
}
}

3. Cを開きます(Mysql5.5は、ない5.6以上必要):ユーザー管理者のAppDataローミングのPythonのsite-packagesの下base.py \ \ \ \ \ \ Python37 \ \ \ジャンゴDB \バックエンド\ mysqlの、次のコードをコメントアウト

バージョン= Database.version_info 
かのバージョン<(1、3、13):
ImproperlyConfiguredを上げる( 'はmysqlclient 1.3.13以降が必要です。あなたは%sにあります。' %データベース.__ version__)

4.アプリを作成して、Pythonのmanage.py startappのmyappに

作成したアプリでmodels.pyペーストファイル5.

クラスPerson(models.Model):
ID = models.AutoField(PRIMARY_KEY =真)
名= models.CharField(max_lengthを= 30)
年齢= models.IntegerField()

デフ__str __(自己):
在のpython3中使用デフ__str __(自己):
リターンself.name


6.(Mysql5.5ニーズ、上記の5.6とはしていない)、それはCに変更:\ユーザーは、管理者\のAppData \ローミング\ Pythonの\ Python37 \サイト・パッケージを\ \ジャンゴ\デシベル\バックエンドの下のファイル\ mysqlの、オリジナルoperations.pyデコードエンコードに変更しました

クエリがNoneでない場合:
クエリ= query.decode(エラー=「置き換える」)
戻りクエリ

データベース約7アップデート

python manage.pyのmakemigrations

python manage.pyの移行

8.インストールの残りのフレームワーク

9.どのような設定でプラス

INSTALLED_APPS = [ ... 'rest_framework', ]

 

10.urls追加について

urlpatterns = [ ... url(r'^api-auth/', include('rest_framework.urls')) ]

11.settingsは約追加します

REST_FRAMEWORK = { # Use Django's standard `django.contrib.auth` permissions, # or allow read-only access for unauthenticated users. 'DEFAULT_PERMISSION_CLASSES': [ 'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly' ] }

12. serializers.pyはmyappの中のファイルを作成し、次のコードを貼り付けます。

インポートrest_frameworkシリアライザ

myapp.modelsから人のインポート


:クラスPersonSerializer(serializers.ModelSerializer)
ジャンゴModelFormサブクラスで機能的に類似#ModelSerializer及び
#シリアライザとDjangoフォームで機能的に類似の
クラスメタ- :
人=モデル化
#と「__all__」等価
(フィールド=を'ID'、 '名前'、 '時代')

13.アプリviews.pyに次のコードを貼り付けます。

rest_frameworkインポートビューセットから
myapp.modelsから人をインポート
PersonSerializerのインポートmyapp.serializersから

:クラスPersonViewSet(viewsets.ModelViewSet)
クエリセット= Person.objects.all()
serializer_class = PersonSerializer

14. urls.pyに追加

router = routers.DefaultRouter() router.register(r'users', UserViewSet) # Wire up our API using automatic URL routing. # Additionally, we include login URLs for the browsable API. urlpatterns = [ url(r'^', include(router.urls)), url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')) ]

15.プログラムを実行します。

おすすめ

転載: www.cnblogs.com/MarsMercury/p/11197461.html