Github: https://github.com/graphql-python/graphene-django
Graphene 2.0
にアップグレードする方法については、 UPGRADE-v2.0.mdを参照してください。
グラフェン – ジャンゴ
インストール
グラフェンをインストールするには、シェルでこのコマンドを実行するだけです
pip install "graphene-django>=2.0"
設定
INSTALLED_APPS = (
# ...
'graphene_django',
)
GRAPHENE = {
'SCHEMA': 'app.schema.schema' # Where your Graphene schema lives
}
URL
私たちはDjangoアプリケーションにGraphQL
エンドポイントを設定する必要があります。そのため、我々はクエリを提供することができます。
from django.conf.urls import url
from graphene_django.views import GraphQLView
urlpatterns = [
# ...
url(r'^graphql', GraphQLView.as_view(graphiql=True)),
]
例
ここには簡単なDjangoモデルがあります:
from django.db import models
class UserModel(models.Model):
name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
GraphQLスキーマを作成するには、次のように記述するだけです。
from graphene_django import DjangoObjectType
import graphene
class User(DjangoObjectType):
class Meta:
model = UserModel
class Query(graphene.ObjectType):
users = graphene.List(User)
def resolve_users(self, info):
return UserModel.objects.all()
schema = graphene.Schema(query=Query)
次に、スキーマに問い合わせるだけです。
query = '''
query {
users {
name,
lastName
}
}
'''
result = schema.execute(query)
以下の例をさらに詳しく調べるには:
- フィルタリングされたスキーマ : クックブックの例
- リレースキーマ : Starwars Relayの例
貢献する
このリポジトリをクローンした後、次のコマンドを実行して依存関係がインストールされていることを確認します。
pip install -e ".[test]"
開発後、以下のコマンドを実行することで、完全なテストスイートを評価することができます。
py.test graphene_django --cov=graphene_django # Use -v -s for verbose mode
ドキュメンテーション
ドキュメントは、優れたSphinxとカスタムテーマを使用して生成されます。
ドキュメントの依存関係は、次のコマンドを実行してインストールします。
cd docs
pip install -r requirements.txt
次に、HTML版のドキュメントを作成します。
make html