login page | sign-up page |
---|---|
![]() |
![]() |
faculty dashboard page | faculty add student page |
---|---|
![]() |
![]() |
faculty add marks page | faculty view marks page |
---|---|
![]() |
![]() |
- about django
- django is blah blah blah
- docs
- jinjs template language
- other
- mern stack -> jsx templateing languae
- flask -> jinja
- 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
- 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 '''
- 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>
- 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
-
$ .objects.all()
return : <QuerySet [<GetData: GetData object (1)>, <GetData: GetData object (2)>]>
-
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}"
-
$ .objects.all() return : <QuerySet [<GetData: kratik, 65 >, <GetData: ashish, 2 >]>
-
select particular field/object from table $ obj = modelName.objects.get(colName="instanceName")
-
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()
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")
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