HIT237 Assignment 1
Due On: Friday, Week 6.
Task 1 – Build a website
Use Django and Python to create a multi-page website which catalogues items on a topic of your choice. Pick a topic that you like, for example it could be books, movies, music, computer games, holiday destinations, etc.
There should be at least 4 items in your catalogue and no more than 10 items at most. Exceeding the minimum of 4 simply allows you to get a better feel for how the website will look when it is fully populated with data. The user should be able to click on each item displayed in your catalogue, which will navigate them to a new page to view the details specific to that item.
Create a Python class, in its own file, which defines the data structure for your items. For example, you might create a Books class that contains fields like ‘title’, ‘author’, ‘genre’, etc. Import your new Class into your Django project and use it to help define the data being sent to the Context.
The items from your website’s catalogue will need to be defined within your Python code, and displayed by using Templates by passing the data to the Context for display. Do not hard code your catalogue items directly into your HTML.
Task 1 Requirements
For this task, you are required to complete the following using Python & Django:
Create a website with at least these three pages.
oPage 1 – A landing page (sometimes called a home page) that includes:
Your Student Number
A brief paragraph (a few sentences) that talks about your chosen topic which you are cataloguing. E.g. “I chose to catalogue Widgets, because…”
oPage 2 – A page which displays a list of all the items in your catalogue. The list should show only the catalogue item’s name and a brief (or truncated) description of the catalogue item.
oPage 3 – A details page that displays specific information about a catalogue item. This page should be displayed when the user clicks on an item from your list page’s display.
You must be able to navigate to Page 1 and Page 2 from all locations within your website (using hyperlinks).
Create and use a Python Class to structure the data for the items in your catalogue. Create an array of your new Class objects to represent your catalogue. Pass your catalogue array to the Context to be rendered in the HTML Template. There must be a minimum of 4 items in your catalogue array.
The website should use standard HTML5 syntax and make use of normal HTML formatting, such as headers, tables, hyperlinks and text formatting where appropriate.
Task 2 – Data model
Add another page to your website, which describes your data model. You may do this with words or with images/tables. List each of the pieces of information you know about your catalogue. Describe each field:
what is it called
what is its purpose
what data type (text, numeric, email, url, phone number, etc)
Validation or constraint requirement
Task 2 Requirements
For this task, you are required to:
Add another Page to your website for this task.
Include navigation hyperlinks to your website to access this new page.
Describe the data model of your catalogue items.
All submissions should be completed via Learnline before 11:59pm on the due date.