Постинг содержимого с других сайтов
Мы позволим пользователям использовать bookmark images с внешних веб-сайтов. Пользователь предоставит URL-адрес изображения, заголовок и дополнительное описание. Приложение загрузит изображение и создаст новый объект Image в базе данных.
Начнем с создания формы для отправки новых изображений. Создайте новый файл forms.py в каталоге приложения Images и добавьте в него следующий код:
from django import forms
from .models import Image
class ImageCreateForm(forms.ModelForm):
class Meta:
model = Image
fields = ('title', 'url', 'description')
widgets = {'url': forms.HiddenInput, }
Как видно, эта форма является ModelForm, построенной из модели Image, включающей только поля title, url и description. Наши пользователи не будут вводить URL-адрес изображения непосредственно в форме. Вместо этого они будут использовать средства JavaScript для выбора изображения на внешнем сайте, и наша форма будет получать URL-адрес в качестве параметра. Мы переопределяем виджет по умолчанию в поле «URL-адрес», чтобы использовать графический элемент HiddenInput. Этот графический элемент визуализируется как элемент<input>
с атрибутом type="hidden". Мы это делаем, поскольку мы не хотим, чтобы это поле было видимым для пользователей.