Django v4, python 3.10 support for graphene-django v3 (#1281)

Co-authored-by: Yair Silbermintz <MisterGlass@users.noreply.github.com>
This commit is contained in:
Tim Schilling 2022-01-07 14:26:07 -06:00 committed by GitHub
parent 32667b5407
commit 5d5d7f1815
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 27 additions and 18 deletions

View File

@ -10,7 +10,13 @@ jobs:
matrix: matrix:
django: ["2.2", "3.0", "3.1", "3.2"] django: ["2.2", "3.0", "3.1", "3.2"]
python-version: ["3.6", "3.7", "3.8", "3.9"] python-version: ["3.6", "3.7", "3.8", "3.9"]
include:
- django: "3.2"
python-version: "3.10"
- django: "4.0"
python-version: "3.10"
- django: "main"
python-version: "3.10"
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }} - name: Set up Python ${{ matrix.python-version }}

View File

@ -55,7 +55,7 @@ from graphene_django.views import GraphQLView
urlpatterns = [ urlpatterns = [
# ... # ...
path('graphql', GraphQLView.as_view(graphiql=True)), path('graphql/', GraphQLView.as_view(graphiql=True)),
] ]
``` ```

View File

@ -198,7 +198,7 @@ For Django 2.2 and above:
urlpatterns = [ urlpatterns = [
# some other urls # some other urls
path('graphql', PrivateGraphQLView.as_view(graphiql=True, schema=schema)), path('graphql/', PrivateGraphQLView.as_view(graphiql=True, schema=schema)),
] ]
.. _LoginRequiredMixin: https://docs.djangoproject.com/en/dev/topics/auth/default/#the-loginrequired-mixin .. _LoginRequiredMixin: https://docs.djangoproject.com/en/dev/topics/auth/default/#the-loginrequired-mixin

View File

@ -11,7 +11,7 @@ def wrap_exception(exception):
exc_type=force_str(type(exception)), exc_type=force_str(type(exception)),
stack="".join( stack="".join(
traceback.format_exception( traceback.format_exception(
etype=type(exception), value=exception, tb=exception.__traceback__ exception, value=exception, tb=exception.__traceback__
) )
), ),
) )

View File

@ -48,7 +48,7 @@ class CommandArguments(BaseCommand):
class Command(CommandArguments): class Command(CommandArguments):
help = "Dump Graphene schema as a JSON or GraphQL file" help = "Dump Graphene schema as a JSON or GraphQL file"
can_import_settings = True can_import_settings = True
requires_system_checks = False requires_system_checks = []
def save_json_file(self, out, schema_dict, indent): def save_json_file(self, out, schema_dict, indent):
with open(out, "w") as outfile: with open(out, "w") as outfile:

View File

@ -1,8 +1,8 @@
from django.conf.urls import url from django.urls import path
from ..views import GraphQLView from ..views import GraphQLView
urlpatterns = [ urlpatterns = [
url(r"^graphql/batch", GraphQLView.as_view(batch=True)), path("graphql/batch", GraphQLView.as_view(batch=True)),
url(r"^graphql", GraphQLView.as_view(graphiql=True)), path("graphql", GraphQLView.as_view(graphiql=True)),
] ]

View File

@ -1,4 +1,4 @@
from django.conf.urls import url from django.urls import path
from ..views import GraphQLView from ..views import GraphQLView
from .schema_view import schema from .schema_view import schema
@ -10,4 +10,4 @@ class CustomGraphQLView(GraphQLView):
pretty = True pretty = True
urlpatterns = [url(r"^graphql/inherited/$", CustomGraphQLView.as_view())] urlpatterns = [path("graphql/inherited/", CustomGraphQLView.as_view())]

View File

@ -1,6 +1,6 @@
from django.conf.urls import url from django.urls import path
from ..views import GraphQLView from ..views import GraphQLView
from .schema_view import schema from .schema_view import schema
urlpatterns = [url(r"^graphql", GraphQLView.as_view(schema=schema, pretty=True))] urlpatterns = [path("graphql", GraphQLView.as_view(schema=schema, pretty=True))]

View File

@ -3,7 +3,7 @@ import warnings
from django.test import Client, TestCase, TransactionTestCase from django.test import Client, TestCase, TransactionTestCase
DEFAULT_GRAPHQL_URL = "/graphql/" DEFAULT_GRAPHQL_URL = "/graphql"
def graphql_query( def graphql_query(

13
tox.ini
View File

@ -1,6 +1,8 @@
[tox] [tox]
envlist = envlist =
py{36,37,38,39}-django{22,30,31,32,main}, py{36,37,38,39}-django{22,30,31},
py{36,37,38,39,310}-django32,
py{38,39,310}-django{40,main},
black,flake8 black,flake8
[gh-actions] [gh-actions]
@ -9,6 +11,7 @@ python =
3.7: py37 3.7: py37
3.8: py38 3.8: py38
3.9: py39 3.9: py39
3.10: py310
[gh-actions:env] [gh-actions:env]
DJANGO = DJANGO =
@ -16,6 +19,7 @@ DJANGO =
3.0: django30 3.0: django30
3.1: django31 3.1: django31
3.2: django32 3.2: django32
4.0: django40
main: djangomain main: djangomain
[testenv] [testenv]
@ -26,12 +30,11 @@ setenv =
deps = deps =
-e.[test] -e.[test]
psycopg2-binary psycopg2-binary
django20: Django>=2.0,<2.1
django21: Django>=2.1,<2.2
django22: Django>=2.2,<3.0 django22: Django>=2.2,<3.0
django30: Django>=3.0a1,<3.1 django30: Django>=3.0,<3.1
django31: Django>=3.1,<3.2 django31: Django>=3.1,<3.2
django32: Django>=3.2a1,<3.3 django32: Django>=3.2,<4.0
django40: Django>=4.0,<4.1
djangomain: https://github.com/django/django/archive/main.zip djangomain: https://github.com/django/django/archive/main.zip
commands = {posargs:py.test --cov=graphene_django graphene_django examples} commands = {posargs:py.test --cov=graphene_django graphene_django examples}