Веб-интерфейс Django с кнопкой загрузки
Вы получили текстовый файл с данными о продажах компании. Нам необходимо создать способ импорта этих данных в базу данных
Ваша задача - создать веб-интерфейс, который принимает загружаемые файлы, нормализовать данные и хранить их в реляционной базе данных.
введите описание изображения здесь
Конечно, я не собираюсь делать за вас вашу работу, но я дам вам несколько подсказок:
- Модели:
Создайте модель, в которой есть
FileField. Убедитесь, что вы указали свойствоupload_to. - Формы:
Создайте файл forms.py и поместите в него
ModelForm, соответствующий созданной ранее модели. Убедитесь, что вы поместили поле файла в переменную fields, или поместите'__all__'. - HTML:
Создайте форму в HTML-файле и убедитесь, что вы поместили в теги формы следующее:
method="POST" action="{% url 'upload' %} enctype="multipart/form-data"Поле загрузки файла должно содержать символname='FIELDNAME'. - Urls:
Создайте маршрут в вашем файле urls.py, который вызывает представление для обработки данных. Убедитесь, что вы поместили
name="upload"или любое другое имя (убедитесь, что это то же самое имя в{% url 'NAME' %}, которое вы установили в HTML форме. - Получение данных из формы:
В представлении, вызываемом по url, убедитесь, что вы получили файл:
file = request.FILES.get('FIELDNAME')затем вы можете погуглить Python3 file handling, чтобы узнать, как перебирать строки в файле(f.open......etc).
- Получите данные и обновите вашу базу данных с помощью
.save()
Теперь приступайте к работе!