mirror of
https://github.com/graphql-python/graphene-django.git
synced 2024-11-24 10:34:10 +03:00
520ddeabf6
* Add venv and .venv to gitignore since common venv paths
* Update cookbook-plain app requirements and local-dev notes
This also adds the DEFAULT_AUTO_FIELD to the app's Django settings to
resolve this warning when running `migrate`:
```
ingredients.Category: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'.
HINT: Configure the DEFAULT_AUTO_FIELD setting or the IngredientsConfig.default_auto_field attribute to point to a subclass of AutoField, e.g. 'django.db.models.BigAutoField'.
```
* Fix #1417 graphiql explorer styles by including official CSS
Like in the official graphiql-plugin-explorer example here
6198646919/packages/graphiql-plugin-explorer/examples/index.html (L26-L29)
Resolves https://github.com/graphql-python/graphene-django/issues/1417
* Update GraphiQL version
---------
Co-authored-by: Steven DeMartini <sjdemartini@users.noreply.github.com>
Co-authored-by: Kien Dang <mail@kien.ai>
74 lines
1.9 KiB
Markdown
74 lines
1.9 KiB
Markdown
Cookbook Example Django Project
|
|
===============================
|
|
|
|
This example project demos integration between Graphene and Django.
|
|
The project contains two apps, one named `ingredients` and another
|
|
named `recipes`.
|
|
|
|
Getting started
|
|
---------------
|
|
|
|
First you'll need to get the source of the project. Do this by cloning the
|
|
whole Graphene repository:
|
|
|
|
```bash
|
|
# Get the example project code
|
|
git clone https://github.com/graphql-python/graphene-django.git
|
|
cd graphene-django/examples/cookbook-plain
|
|
```
|
|
|
|
It is good idea (but not required) to create a virtual environment
|
|
for this project. We'll do this using
|
|
[virtualenv](http://docs.python-guide.org/en/latest/dev/virtualenvs/)
|
|
to keep things simple,
|
|
but you may also find something like
|
|
[virtualenvwrapper](https://virtualenvwrapper.readthedocs.org/en/latest/)
|
|
to be useful:
|
|
|
|
```bash
|
|
# Create a virtualenv in which we can install the dependencies
|
|
virtualenv env
|
|
source env/bin/activate
|
|
```
|
|
|
|
Now we can install our dependencies:
|
|
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
Now setup our database:
|
|
|
|
```bash
|
|
# Setup the database
|
|
./manage.py migrate
|
|
|
|
# Load some example data
|
|
./manage.py loaddata ingredients
|
|
|
|
# Create an admin user (useful for logging into the admin UI
|
|
# at http://127.0.0.1:8000/admin)
|
|
./manage.py createsuperuser
|
|
```
|
|
|
|
Now you should be ready to start the server:
|
|
|
|
```bash
|
|
./manage.py runserver
|
|
```
|
|
|
|
Now head on over to
|
|
[http://127.0.0.1:8000/graphql](http://127.0.0.1:8000/graphql)
|
|
and run some queries!
|
|
(See the [Graphene-Django Tutorial](http://docs.graphene-python.org/projects/django/en/latest/tutorial-plain/#testing-our-graphql-schema)
|
|
for some example queries)
|
|
|
|
Testing local graphene-django changes
|
|
-------------------------------------
|
|
|
|
In `requirements.txt`, replace the entire `graphene-django=...` line with the following (so that we install the local version instead of the one from PyPI):
|
|
|
|
```
|
|
../../ # graphene-django
|
|
```
|