Social Icons

Saturday, February 13, 2021

Upload files in django: Student Management System

Setting up an upload form within a django model

It often happens that you wish to add a file field to a registration or data insertion form ... So far we have not yet dealt with this type of field. The file field type can be treated either in isolation or within a model. To keep it simple, we are going to deal with this last type. 
Let's start by creating a mysite project in which we create an application named studentsApp

 
Next, let's create a directory named media within our mysite project. This folder must be configured within the file: 
settings.py
MEDIA_ROOT = os.path.join (BASE_DIR, 'media')
MEDIA_URL = '/ media /'
Next, let's configure the url.py files of the studentsApp application:
urls.py
from django.contrib import admin
from django.urls import path
from uploadFile import views

urlpatterns = [
    path ('admin /', admin.site.urls),
    path ('students /', views.index),
]
Consider the Students model example that we have already covered in the django models tutorial, to which we add a file field that allows students to attach their photos during registration: models.py
from django.db import models
class Students (models.Model):
    name = models.CharField (max_length = 25)
    email = models.EmailField (max_length = 40)
    phone = models.IntegerField (max_length = 40)
    section = models.CharField (max_length = 25)
    photo = models.FileField (upload_to = 'photos')
The upload_to = 'photos' argument we added tells django that the uploaded files should be saved in a folder named media / photos. Do you have to manually create this directory? Well don't worry! Django will create it automatically when running the script. 

 
The necessary migrations are then carried out:
python manage.py makemigrations studentsApp
and after that :
python manage.py migrate
We then create a forms.py file that will generate the form:
forms.py
from django.forms import ModelForm
from studentsApp.models import Students




class StudentsForm (ModelForm):
    class Meta:
        model = Students
        fields = ['name', 'email', 'phone', 'section', 'photo']
The views: will then be created in the same way as in the previous tutorial concerning django models with the difference of adding a request.FILES parameter views.py
from django.http import HttpResponseRedirect
from django.shortcuts import render
from .forms import StudentsForm

def index (request):
    if request.method == 'POST':
        form = StudentsForm (request.POST, request.FILES)
        if form.is_valid ():
            form.save ()
            return HttpResponseRedirect ('/ students /')
    else:
        form = StudentsForm ()
    return render (request, 'index.html', {'form': form})
Finally, we just have to create the index.html template file: template/index.html
<! DOCTYPE html>
<html lang = "in">
<head>
    <meta charset = "UTF-8">
    <title> Title </title>
</head>
<body>

<form enctype = "multipart / form-data" method = "post">
{% csrf_token%}
{{form.as_p}}
<button type = "submit" class = "save btn btn − default"> Save </button>
</form>

</body>
Without forgetting the parameter enctype = "multipart / form-data"  



Younes Derfoufi
my-courses.net

No comments:

Post a Comment

Python Exercises With Solutions

  1. Exercises on Python Strings
  2. Exercises on Python lists
  3. OOP Exercices with solutions
  4. Exercises on Python File I/O
  5. Python Dictionary Exercises
  6. Python Sets Exercises
  1. Python Arithmetic Exercises
  2. Equations & System Of Equations
  3. Polynomials and Functions
  4. Python Arithmetic Exercises 
  5. Numpy, Matplolib, Sympy , Scipy - Exercises
  6. Python Arithmetic Exercises
  1. Python GUI Tkinter Exercises



Younes Derfoufi

Category Of Mobile Courses

Actualités (644) Adsense (1) Affiliation (1) Algebraic Topology (2) Algorithmic (1) all-news (30) Android (5) Android App (8) Android app without code (4) Android Apps (256) Android Development (4) Android download (2) Android OS (3) AngularJS (1) Automata theory and formal language (5) Bootstrap CSS (1) C programming (5) Category and Functor (8) CMS (3) Computer Glossary (18) Create Mobile App With Ionic Framework (2) CSS (2) CSS-Cascading-Style-Sheets (4) Developpement Java (13) Differential Geometry (1) Django-Python-Framework (9) dropshiping (26) Earn Money by Internet (4) Emplois (23) Framework php (2) Fraud (2) HTML (7) Java For Beginners (10) Javascript (12) Kotlin Programming Language (8) Kotlin For Mobile Android (1) Linux Download (2) Marketing (5) Mobile (3) Mobile Courses (4) Mobile Marketing (4) MoneyGram (1) News (721) Node.js (5) Open Source (1) Photoshop (1) Protect Computer (1) Python (35) Python BeautifulSoup (1) Python For Data Science (2) Python PyQt (4) Python Reference (1) Python Source Code (1) Python-Books (6) Python-DVD-Training (1) Python-Exercises (295) Python-Framework (1) Python-IDE (1) Python-Kivy-Framework (2) Python-Modules (1) Python-pdf (2) Python-pyQt (1) Référencement (2) Script PHP (2) Security (6) SEO (1) Snipping Tool: Faq (1) Social Networks (1) Source Code (4) Statistics With SPSS (2) Surveillance Software (1) Travail à domicile (6) Tutoriels php en vidéos (2) Tutoriels-MySql (6) tutoriels-php (19) Utilitaires (1) VPS (1) Web Hosting (1) Webcam (1) Webmarketing (11) Western Union (1) Windows 10 (1) Windows 7 (4) Windows 7 Faq (2) Windows 8 (1) Windows Accessories (1) Windows Download (8) Windows Drivers (1) Windows Fonts (1) Windows Power Shell (2) Windows Registry (2) Windows Security (18) Windows Software (2) Windows Spyware (2) Windows utilities (3) Windows Virus (2) Windows Vista (3) Windows Wireless (1) Windows xp (1) Wordpress (1)
 

Sample text

Sample Text

 
Blogger Templates