Sai Tejasvi

Sai Tejasvi

  • NA
  • 10
  • 1.2k

Django based application using MVC in VS Code .

Jul 8 2023 6:16 AM

Hi all, I am a student new to Django framework. As a part of assignment task, I need to do the following tasks. Please help me as I am struggling to implement this .

Using the Django  web application framework in VS Code and the Model View Controller (MVC) paradigm develop an application which enables the students to register and unregister for the modules offered under their own course. The application will have the following pages: -

 

Home

This will be the landing page for the web application. This page is to be divided into at least 4 content sections including one for the

navigation and the list of courses.

About Us

A page about the university (you can make up name of the university or us our own University name). This page is to be divided into at least 4 content sections including one for the

internal navigation to different sections of the page.

Contact Us

Contains a form where the users can use to send enquiries to the university. The form should have at least 5 form elements which include text fields to enter name, email address, subject of the enquiry, a text area to enter enquiry/message and a button to submit form. This page is to be divided into at least 3 content

sections including one for the navigation.

List of Modules Page

Atleast 2 modules per course created on which the students can register or unregister. You can make up the list of modules for each course or can be based on the modules offered for each course in

our own University. This page is to be divided into at least 3 content sections including one for the navigation.

The above-listed pages should be appropriately styled using stylesheets and populated with content (text and images). The pages should be divided in properly headed sections. For the textual content you can use placeholder text 

Models

You are strongly recommended to use the built-in User and Group models for your application. The built-in User model can be used to perform standard authentication process, while the built-in Group model can be used as the course for the students. However, as a minimum the following custom models should be defined correctly and fully implemented as well. You are free to add more models and attributes as you see fit.

Model 1 - Module

The following attributes should be defined:

  • Name of the module
  • Code
  • Credit
  • Category
  • Description
  • Availability (open or closed for registration)
  • Courses allowed to register

The application administrator will be responsible for uploading details for each module and course. The students will then login to access the page of each module where they can view the above-listed details about the module and register or unregister from that page. For the student to be able to login they will need to have registered on the website and have a student account attached to their standard User account. Each module can be offered to multiple courses and each course can have multiple modules offered.

Model 2 – Student

Each registered student should have the following details:

  • Date of birth
  • Address
  • City/Town
  • Country
  • Photo of student

All these details should be displayed on the profile page. The built-in User model should be directly linked to Student.

Model 3 – Registration

This is where the attributes of each student registration to a module are defined :

  • The student
  • The module
  • Date of registration

Requirements and functionalities:

  1. The student must only have maximum one registration on each module [Good GitHub commit]
  2. The registration process should not require any pages to be displayed [Good GitHub commit]
  3. Unauthorised access to any restricted functionality should be redirected to the welcome page with appropriate warning [Good GitHub commit]
  4. Application implements pagination or search facility [Good GitHub commit]
  5. The URL pattern of the Module should be its code instead of its ID [Good GitHub commit]

Answers (1)