before we build an authentication system for creating accountswe'll first add some pages that allow users to enter their own data we'll give users the ability to add new topicadd new entryand edit their previous entries currentlyonly superuser can enter data through the admin site we don' want users to interact with the admin siteso we'll use django' formbuilding tools to build pages that allow users to enter data adding new topics let' start by giving users the ability to add new topic adding formbased page works in much the same way as the pages we've already builtwe define urlwrite view functionand write template the one major difference is the addition of new module called forms pywhich will contain the forms the topic modelform any page that lets user enter and submit information on web page is formeven if it doesn' look like one when users enter informationwe need to validate that the information provided is the right kind of data and not anything malicioussuch as code to interrupt our server we then need to process and save valid information to the appropriate place in the database django automates much of this work the simplest way to build form in django is to use modelformwhich uses the information from the models we defined in to automatically build form write your first form in the file forms pywhich you should create in the same directory as models pyforms py from django import forms from models import topic class topicform(forms modelform)class metav model topic fields ['text' labels {'text'''we first import the forms module and the model we'll work withtopic at we define class called topicformwhich inherits from forms modelform the simplest version of modelform consists of nested meta class telling django which model to base the form on and which fields to include in the form at we build form from the topic model and include only the text field the code at tells django not to generate label for the text field