Создание web-сервиса. Всё, но не сразу. Создание регистрации
Сегодня мы рассмотрим реализацию регистрации на django rest.
Для начала нам надо будет доработать сериализатор нашего приложения.
В классе UserSerializer
в fields
добавим поле password
fields = (
…
'password'
…
)
Без этого поля django выдаст ошибку.
Во views.py
добавим представление UserCreateAPIView
унаследовав от generics.CreateAPIView
.
CreateAPIView
— используется для создания записей, разрешён только POST метод.
Не забываем добавить в urls.py
url для обращения к новому представлению.
url(r'register$', views.UserCreateAPIView.as_view()),
Для проверки запустите django и в браузере откройте http://127.0.0.1:8000/register
. Если вы всё сделали правильно - откроется эта страница
Идём в наш nuxt. И создаём файл register.vue в папке pages . Его содержимое будет подобно предыдущему, но и его продублирую ниже.
Изменения будут в axios:
axios.post('http://127.0.0.1:8000/register',
{
username: this.form.name, password: this.form.pass
})
изменим http://127.0.0.1:8000/token
на http://127.0.0.1:8000/register
ну и выведем ответ .then((e) => alert(e))
Вот так просто и легко с помощью Django rest framework мы создали возможность регистрировать пользователей. По подобию можно делать добавление в БД различных записей.
Полный листинг файлов:
Форма регистрации register.vue
Сериализатор UserSerializer
Представление UserCreateAPIView
Файл urls.py
Данный пост подготовлен автором @zheev. В рамках данного цикла статей он расскажет о том, что и как он программировал, какие языки и технологии использовал. С какими трудностями пришлось столкнуться и их решение на реальных примерах.
Первая часть - Вступление
Вторая часть - Проектирование БД
Третья часть - Установка окружения
Четвёртая часть - Установка и настройка Django
Пятая часть - Установка и сборка Vue
Шестая часть - Создание таблиц средствами Django
Седьмая часть - Создание REST приложений на Django
Восьмая часть - Использование фреймворка Nuxt в приложении на Vue
Девятая часть - Делаем авторизацию в Django
Десятая часть - Авторизация в клиентской части
Заглавное изображение с сайта seo-wave.ru