Posting content from other websites

We will allow users to bookmark images from external websites. The user will provide the URL of the image, a title, and optional description. Our application will download the image and create a new Image object in the database.

Let's start by building a form to submit new images. Create a new forms.py file inside the Images application directory and add the following code to it:

from django import forms
from .models import Image

class ImageCreateForm(forms.ModelForm):
class Meta:
model = Image
fields = ('title', 'url', 'description')
widgets = {
'url': forms.HiddenInput,
}

As you would notice in this preceding code, this form is a ModelForm form built from the Image model, including only the title, url, and description fields. Users will not enter the image URL directly in the form. Instead, we will provide them with a JavaScript tool to choose an image from an external site, and our form will receive its URL as a parameter. We override the default widget of the url field to use a HiddenInput widget. This widget is rendered as an HTML input element with a type="hidden" attribute. We use this widget because we don't want this field to be visible to users.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset