djangoのメモ
django mysql
pip install django==2.1.7 pip install pymysql
manage.pyかsetting.pyの一番上に
import pymysql pymysql.install_as_MySQLdb()
setting.pyに
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 変更 'NAME': 'database_name', # プロジェクトで使用するデータベース名 'USER': 'root', # パソコンにインストールしたMySQLのユーザー名 'PASSWORD': '', # 同上。そのパスワード } }
django shell
>>> python manage.py shell from myapps.models import MyModel
credentials
https://www.django-rest-framework.org/api-guide/testing/
test
jwtで単体テストをする時のメモ
jwtでテストユーザーを作成してからテストを始める
サンプルコード
参考文献
https://stackoverflow.com/questions/47576635/django-rest-framework-jwt-unit-test
jsonで返す
from django.http import JsonResponse def hogeView(request): hoge = {} # データのセットとか return JsonResponse(hoge)
test時
エラー
django.urls.exceptions.NoReverseMatch: Reverse for 'insert_memo' not found. 'insert_memo' is not a valid view function or pattern name.
testしたいappのurlsの urls.pyにapp_nameとurlpatternsにnameの追加する必要がある
urlpatterns = [ path('', views.ListMemo.as_view()), path('<int:pk>/', views.DetailMemo.as_view()), path('insert_memo/', views.insert_memo, name="insert_memo"), path('get_memos/', views.get_memos, name="get_memos"), ] app_name = "memos"
Metaクラス
以下、参照 メタクラスは「「class文の持つ定義する機能」を定義する機能」があるのです。 「「定義する機能」を定義する機能」というのがメタと名付けられている所以です。 https://teratail.com/questions/87695
ユーザーを作る時のメモ
Django Login/Logout Tutorial (Part 1) - William Vincent
djangoの自作ライブラリの場所について
- すべてのアプリ全体で使うならsetting, urlsと同じところに
- 各アプリで使うなら各アプリのディレクトリ配下
https://teratail.com/questions/5316
djangoのテストについて
https://docs.djangoproject.com/ja/3.0/intro/tutorial05/
djangoの設定
https://qiita.com/okoppe8/items/e60d35f55188c0ab9ecc