Skip to content

python Django based project to learn web development with python mvt (model view template) architecture

Notifications You must be signed in to change notification settings

dheerajpoonia29/studentsMarksManagement-projectPythonDjango

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Django-first-application

PROJECT SCREENSHOT

login page sign-up page
page page
faculty dashboard page faculty add student page
page page
faculty add marks page faculty view marks page
page page

DJANGO

  • about django
    • django is blah blah blah
  • docs
  • jinjs template language
  • other
    • mern stack -> jsx templateing languae
    • flask -> jinja

CREATE AND RUN SERVER

  • create django project / create server
    • django-admin startproject mysite
  • run django project / run server
    • python manage.py runserver
  • create various inside django project
    • python3 manage.py startapp order
    • python3 manage.py startapp product

INTIAL CHANGE BEFORE DEV PROJECT

  • make change to urls.py
from djangofir.contrib import admin
from django.urls import include, path
urlpatterns = [
    path('', include('appName.urls')),
    path('admin/', admin.site.urls)
]
  • make change to app/urls.py
from django.urls import path
from . import views
urlpatterns = [
    path("", views.index, name="index"),
]
  • build app.views.py
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse("Application is successfully run")
  • tell setting.py about over new app ''' // look for installed app '.apps.Config', // paste into at above '''

MAKE DATABASE & TABLE

  • create model // modelName = tableName
class <modelName>(models.Model):
    attributesName = models.dataType(constraints1,constraints2)  
    // E.g dataType = IntegerField(unique=True), CharField(max_length=64)
  • make migrations
$ python3 manage.py makemigrations // look change in models.py
$ python3 manage.py migrate        // make table corressponding to models
  • look automatic sql generated by django $ python manage.py sqlmigrate appName <migrationNo with extention>

INSERT DATA INTO DATABASE THROUGH PYTHON SHELL

  • open shell python3 manage.py shell
  • import modelName/tableName in which we want to insert data from <appName>.models import <modelName>
  • insert data f = tableName( col1="data1", col2="data2", ....)
  • commit insertion
f.save()
Note: every particular data entry is treated as class oject

PRINT OR MAKE QUERY TO DATABASE

  • $ .objects.all() return : <QuerySet [<GetData: GetData object (1)>, <GetData: GetData object (2)>]>

    1. print attributes/col value instead of object no 2.1 open .models.py & inside particular mode wirte str function Note: def str(self): > define that what the object look like & print to screen/html def modelName(models.Model): var1=models.datatype(contraint) var2=models.datatype(contraint) def str(self): return f"{self.var1} and {self.var2}"

    2. $ .objects.all() return : <QuerySet [<GetData: kratik, 65 >, <GetData: ashish, 2 >]>

    3. select particular field/object from table $ obj = modelName.objects.get(colName="instanceName")

OPERATION ON STORED DATABASE

1. access to particular object 
    1.1 select field by coloumn
        $ obj = <modelName>.objects.get(colName="value")
        $ obj
        return : <modelName: val1, val >
    1.2 f = <modelName>.objects.first()
    f
        return : <QuerySet [<GetData: kratik, 65 >
    f.fname
        return : kratik
    f.rollNo
        return : 65

2. delete to particular object
    f.delete()

WORKING WITH /views.py file

1. basic initialize function
    from django.shortcuts import render // for rendering template
    from django.http import HttpResponse // for return http response

note: function name in view called view

2. return http response
    return HttpResponse("response working")

3. render html template
    return render(request, "<appName>/index.html")

WORKING WITH APP ADMIN FILE

Note:   django come with built in app could admin which 
        make very easy to add or modify existing data, we no need to 
        open over database

1.  admin interface want know about the model created in models.py
    from .models import modelName1, modalName2

2.  registering modal at admin panel, which manipulate via panel
    admin.site.register(modelName1)
    admin.site.register(modelName2)
3.  before access to admin first need to login to admin site
    $ python manage.py createsuperuser

About

python Django based project to learn web development with python mvt (model view template) architecture

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published