Основные команды
Начать новый проект django-admin startproject
Начните новое приложение в своем проекте django-admin startapp
Запустить сервер разработки Python Manage.py Runserver
Сделайте миграционные файлы для неизменных изменений ` Python Manage.py Makemigrations
Запустить миграции Python Manage.py Migrate
Запустить сервер разработки Python Manage.py Runserver
Создать суперпользователь для панели администратора Python Manage.py CreateSuperuser -email admin@example.com -usermanme admin
Настройка базы данных для Postgres
Нужен PsychoPG2, установлен для использования Postgres
PIP установить psycopg2
Примечание. Возможно, вам потребуется установить следующее для Psycopg2, чтобы установить правильную, Google их установку, не нужная для Windows sudo “python3-dev” “libpq-dev”
Конфигурация базы данных в настройках.py
`python
Базы данных = {
'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'test', 'USER': 'test', 'PASSWORD': 'test', 'HOST': 'localhost', 'PORT': '5432', }
}
`
Использование файла .env с django
Установите Django-environ
PIP установить Django-environ
Добавьте следующее в свой настройки.
`Environ
эн. Env ()
среда Env.read_env () `
Документы: https://github.com/joke2k/django-environ
Использование переменных ENV в вашем коде
env (“env_variable”)
env (“env_variable”,)
Развертывание в Хероку
Шаг 1 – Настройте настройки базы данных
`Python Databases = {
'default': env.db()
}
`
*Если вы хотите использовать локальную базу данных, добавьте переменную env, database_url с использованием шаблона строки DB ниже
Postgres://yourusername: yourpassword@yourhost: 5432/yourdatabase
Должен выглядеть так в твоем .env
Database_url = Postgres://test: test@localhost: 5432/test
Установите свой Gitignore
Включите это в свой .gitignore в свой корневой каталог, это было сгенерировано с использованием сайта gitignore.io, веб -сайта для создания общих записей Gitignore.
`
Джанго
*.журнал *.горшок *.pyc Pycache / local_settings.py db.sqlite3 db.sqlite3-Journal СМИ
Джанго. Стек Python
*.py [cod] *$ py.class
*.так
.Python build/develop-eggs/dist/doads/.eggs/lib/lib64/parts/sdist/var/whiels/pip-wiele-metadata/share/python-weels/*.egg-info/.installed.cfg *.яйцо Манифест
*.manifest *.pec
pip-log.txt pip-delete-this-directory.txt
htmlcov/.tox/.nox/.coverage .coverage. * .cache nosetests.xml coverge.xml *.cover *.py, cover .hypotheses/.pytest_cache/pytestdebug.log
*.mo
экземпляр/.webassets-cache
.scrapy
docs/_build/doc/_build/
цель/
.IPYNB_CHECKPOINTS
profile_default/ipython_config.py
.python-версия
Pypackages /
сельдерис-сценул Celerybeat.pid
*.sage.py
.env .venv env/venv/env/env.bak/venv.bak/
.spyderProject .spyProject
.ropeproject
/сайт
.mypy_cache/.dmypy.json dmypy.json
.pyre/
.pytype/
`
Одушечный рог и прокат
Нам нужен стрелков для запуска нашего сервера приложений, так что
`pip установить стрелобник
Создайте файл с именем «Procfile» в корне проекта со следующим.
`web: проект надзора.
*Проект должен быть заменен именем ваших проектов (имя папки, в которой находится настройки.
Скачать Django-Heroku
Установите Django-Heroku PIP Установите Django-Heroku
Добавьте следующее в верхней части ваших настроек.py Импорт django_heroku
Добавьте следующее внизу ваших настроек. django_heroku.settings (местные жители ())
*Что это сделает, так это автоматически настроить ваш проект для Heroku, когда вы его развернете
Подтолкнуть к GitHub
Создайте новый репозиторий GitHub и нажмите к GitHub. Корень вашего репозитория должен быть папкой с Manage.py внутри него.
Создайте новый проект Heroku
Создайте новый проект Heroku
Перейдите на вкладку «Ресурсы» и предоставьте новую бесплатную базу данных Postgres
Перейдите на вкладку «Развертывание» и подключите репозиторий GitHub к Heroku
Включить автоматические развертывания
Сделайте первоначальное развертывание, нажимая кнопку ручного развертывания
Не забудьте запустить Makemigrations и мигрировать (легко сделать в
heroku Run Bash
)
Django Rest Framework ссылка
Установить
PIP установить djangorestframework
Затем добавьте следующее в свой массив установленных приложений.
‘rest_framework’,
Также убедитесь, что ваше приложение также установлено
Сделать модель
В новом приложении создайте новую модель в модели.py
Анкет Ссылка на поле модели => https://docs.djangoproject.com/en/3.1/ref/models/fields/#model-field-types
`Python из моделей импорта django.db
классная собака (модели. Модель):
name = models.CharField(max_length=100) age = models.IntegerField() class Meta: verbose_name_plural = 'dogs'
`
Модели настройки и сериализаторы в вашем приложении
В папке вашего приложения создайте serializers.py
со следующим.
`Python From .models Import Dog из Rest_framework Importizers Serializers
класс Dogserializer (сериализаторы. HyperlinkedModelserializer): Meta класс: Fields = [‘name’, ‘Age’] `
Создайте представления для вашего API
В ваших приложениях views.py Создайте следующее
`Python From .models Import Dog из Rest_framework Import Viewsets из разрешений на импорт REST_FRAMEWOR
Класс Dogviewset (Speedsets. ModelViewSet): “” “Конечная точка API, которая позволяет пользователям просматривать или отредактировать. “”. [разрешения. Разрешить] #coule быть [разрешения. Isauthenticated] `Для получения подробной информации о различных наборах разрешений:
- https://www.django-rest-framework.org/api-guide/permissions/
- https://www.django-rest-framework.org/api-guide/views/
URL -адреса установки
Теперь настроить URL -адреса для нашего API в urls.py в папке, которая удерживает наши настройки.
`Python From Django.contrib Imporm Admin Admine из пути импорта django.urls от Rest_framework Import Routers из Project1.api Import Views
маршрутизатор. Defaultrouter () router.register (r’dogs ‘, views.dogviewset)
urlpatterns = [ PATH (”, Incult (Router.urls)), path (‘api-auth/’, include (‘rest_framework.urls’,)), path (‘admin/’, admin.site.urls), ] ` Для получения дополнительной информации о том, как работает маршрутизатор , https://www.django-rest-framework.org/api-guide/routers/
Заканчивать
- Сделать миграцию
- мигрировать
- тест
Оригинал: “https://dev.to/alexmercedcoder/ultimate-django-reference-commands-deployment-rest-api-ihe”