Добавить несколько категорий для одного сообщения (drf+React)Python

Программы на Python
Ответить
Anonymous
 Добавить несколько категорий для одного сообщения (drf+React)

Сообщение Anonymous »


У меня есть блог, созданный с помощью Django и React. В настоящее время я работаю над добавлением новой функции сообщений в блоге и хочу, чтобы пользователи могли выбирать одну или несколько категорий для своих сообщений в блоге. Вот что я сделал на данный момент:
[*]
Извлечены все категории из базы данных и отображены в раскрывающемся списке/поле выбора.
[*]
Пользователи могут выбрать одну или несколько категорий из раскрывающегося списка.

Теперь мне нужна помощь в следующих шагах. Как я могу отправить выбранные категории в базу данных и сохранить их для новой публикации в блоге? Мы будем очень признательны за любые рекомендации или примеры кода.

import React, { useEffect, useState } из 'реагировать'; импортировать панель мониторинга из «./Dashboard»; импортируйте useAxios из '../../utils/useAxios'; функция AuthorCreateBlogs() { const baseurl = "http://127.0.0.1:8000/api/posts/v1"; const [selectedCategories, setSelectedCategories] = useState([]); const API = useAxios(); const [categoriesData, setCategoriesData] = useState([]); const [blogData, setBlogData] = useState({ "заголовок": "", "слизняк": "", "тело": "", "теги": "", "категории": [], "img": "", }) consthandelInputChange = (событие) => { const {имя, значение} = event.target; setBlogData((blogData) => ({ ... данные блога, [имя]: значение })); }; const handleFileChange = (событие) => { setBlogData((blogData) => ({ ... данные блога, ['img']: event.target.files[0] // Соответствует ключу, используемому в FormData })); }; const handleSubmit = (e) => { е.preventDefault(); константная форма = { 'title': blogData.title, 'слизень': blogData.slug, «тело»: blogData.body, «теги»: blogData.tags, 'img': blogData.img, «категории»: blogData.categories, 'статус': document.getElementById('status2').checked } console.log(форма); api.post(baseurl + '/author/posts/', form, { заголовки: { "Content-Type": "multipart/form-data" }, }) .then(ответ => { console.log('Сообщение создано:', response.data); }) .catch(ошибка => { console.error('Ошибка создания сообщения:', error); }); setBlogData({ "заголовок": "", "слизняк": "", "тело": "", "теги": "", "категории": "", "img": "", }) }; useEffect(() => { api.get(baseurl + '/categories/') // Настройте URL-адрес в соответствии с фактической конечной точкой категории. .then(ответ => { setCategoriesData(response.data); }) .catch(ошибка => { console.error('Ошибка получения категорий:', error); }); }, []); возвращаться ( Категории: Выберите категорию: {categoriesData?.map((категория) => { возвращаться ( {категория.имя} ) })} Изображение: Положение дел: Тело: Валидер ); } экспортировать авторские блоги по умолчанию; Я могу выбрать одну категорию, отправить ее в базу данных и успешно создать публикацию, но я хочу, чтобы пользователь мог выбрать несколько элементов...
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»