0% found this document useful (0 votes)
8 views

21oct 2024 Django Project

Django
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

21oct 2024 Django Project

Django
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 10

******************************21 oct*******************************

step1 make folder in any drive

step2 open pycharm

step3 open terminal

step4 terminal
pip install django

step5 terminal
django-admin startproject myproject

step6 put your project inside drive folder


cd myproject

step7 terminal
python manage.py startapp myapp

step8 run server


python manage.py runserver

step9 open browser


localhost:8000

step10 myproject/settings.py

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',
]

step11myproject/urls.py

from django.contrib import admin


from django.urls import path,include

urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myapp.urls'))
]

step12myapp/urls.py

from django.urls import path


from .import views
urlpatterns = [

path('',views.home,name='home')
]
step13 myapp/views.py

from django.shortcuts import render

# Create your views here.


def home(request):
return render(request,'myapp/home.html')

step14 myapp/templates/myapp/home.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
welcome
</body>
</html>

step15 run server


python manage.py runserver

**********************************22oct2024**********************************
step1 myapp/base.html
go to bootstrap

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap demo</title>
<link
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="stylesheet" integrity="sha384-
QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH"
crossorigin="anonymous">
</head>
<body>
<h1>Hello, world!</h1>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"
integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
crossorigin="anonymous"></script>
</body>
</html>

step2 modify base.html

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>MindScape</title>
<link
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="stylesheet" integrity="sha384-
QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH"
crossorigin="anonymous">
</head>
<body>
{% include 'myapp/navbar.html' %}
{% block content %}

{% endblock %}
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"
integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
crossorigin="anonymous"></script>
</body>
</html>

step3 home.html

{% extends 'myapp/base.html' %}
{% block content %}

{% endblock %}

step4myapp/navbar.html

<nav class="navbar navbar-expand-lg bg-body-tertiary">


<div class="container-fluid">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-
target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-
toggle="dropdown" aria-expanded="false">
Dropdown
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link disabled" aria-disabled="true">Disabled</a>
</li>
</ul>
<form class="d-flex" role="search">
<input class="form-control me-2" type="search" placeholder="Search" aria-
label="Search">
<button class="btn btn-outline-success" type="submit">Search</button>
</form>
</div>
</div>
</nav>

step5myapp/navbar.html(modify)

<nav class="navbar navbar-expand-lg bg-body-tertiary">


<div class="container-fluid">
<a class="navbar-brand" href="#">MindScape</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-
target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="{% url 'home'
%}">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">About Us</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Contact Us</a>
</li>

</ul>
<form class="d-flex" role="search">
<input class="form-control me-2" type="search" placeholder="Search" aria-
label="Search">
<button class="btn btn-outline-success" type="submit">Search</button>
</form>
</div>
</div>
</nav>

step6myapp/urls.py

from django.urls import path


from .import views
urlpatterns = [

path('',views.home,name='home'),
path('about/',views.about,name='about'),
path('contact/',views.contact,name='contact')
]

step7myapp/views.py
from django.shortcuts import render
# Create your views here.
def home(request):
return render(request,'myapp/home.html')
def about(request):
return render(request,'myapp/about.html')
def contact(request):
return render(request,'myapp/contact.html')

step8myapp/about.html
{% extends 'myapp/base.html' %}
{% block content %}
<h1>welcome to about page</h1>
{% endblock %}

step9myapp/contact.html
{% extends 'myapp/base.html' %}
{% block content %}
<h1>welcome to contact page</h1>
{% endblock %}

step10 myapp/navbar.html
<nav class="navbar navbar-expand-lg bg-body-tertiary">
<div class="container-fluid">
<a class="navbar-brand" href="#">MindScape</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-
target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="{% url 'home'
%}">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'about' %}">About Us</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'contact' %}">Contact Us</a>
</li>

</ul>
<form class="d-flex" role="search">
<input class="form-control me-2" type="search" placeholder="Search" aria-
label="Search">
<button class="btn btn-outline-success" type="submit">Search</button>
</form>
</div>
</div>
</nav>

step11
python manage.py runserver

**************************23 oct 2024****************************************


we teach model relationship

**************************24 oct 2024****************************************


myapp/models.py

from django.db import models


from django.contrib.auth.models import User

class Post(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
title = models.CharField(max_length=200)
content = models.TextField()
image = models.ImageField(upload_to='post_images/', null=True, blank=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)

step2 terminal
pip install pillow

step3 terminal
python manage.py makemigrations
python manage.py migrate

step4
python manage.py runserver

step5 sqlite

https://sqlitebrowser.org/
click download menu
DB Browser for SQLite - Standard installer for 64-bit Windows

******************************25 oct
2024*****************************************************
step1 myapp/admin.py

from django.contrib import admin


from .models import Post
# Register your models here.
admin.site.register(Post)

step2 terminal

python manage.py createsuperuser

step3
python manage.py runserver

step4
localhost:8000/admin

**************************7 nov
2024********************************************************
step1 myproject(outer)/media
step2 cut post_images folder and paste inside media folder

step3 myproject/settings.py

STATIC_URL = 'static/'
MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR / 'media'

step4 myproject/urls.py

from django.contrib import admin


from django.urls import path,include
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myapp.urls'))
]
# To serve media files during development
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

step5 myapp/views.py

from django.shortcuts import render


from .models import Post
# Create your views here.
def home(request):
ap=Post.objects.all

return render(request,'myapp/home.html',{'ap':ap})
def about(request):
return render(request,'myapp/about.html')
def contact(request):
return render(request,'myapp/contact.html')

step6 bootstrap(cards)
<div class="card" style="width: 18rem;">
<img src="..." class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">Some quick example text to build on the card title and
make up the bulk of the card's content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>

step6myapp/home.html
{% extends 'myapp/base.html' %}
{% block content %}
<div class="container">
<div class="row">
{% for n in ap %}
<div class="card" style="width: 18rem;">
<img src="{{n.image.url}}" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">{{n.title }}</h5>
<p class="card-text">{{n.content}}</p>
<p class="card-text">{{n.created_at}}</p>
<p class="card-text">{{n.updated_at}}</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
{% endfor %}

</div>
</div>

{% endblock %}

step7 run server

****************************11 Nov 2024****************************************


step1 myapp/urls.py

from django.urls import path


from .import views
urlpatterns = [

path('',views.home,name='home'),
path('about/',views.about,name='about'),
path('contact/',views.contact,name='contact'),
path('register/',views.register, name='register')
]

step2 myapp/views.py
from django.shortcuts import render
from .models import Post
# Create your views here.
def home(request):
ap=Post.objects.all

return render(request,'myapp/home.html',{'ap':ap})
def about(request):
return render(request,'myapp/about.html')
def contact(request):
return render(request,'myapp/contact.html')

def register(request):
return render(request,'myapp/register.html')

step3myapp/register.html
{% extends 'myapp/base.html' %}
{% block content %}
<h1>welcome to register page</h1>
{% endblock %}

step4 myapp/navbar.html
<nav class="navbar navbar-expand-lg bg-body-tertiary">
<div class="container-fluid">
<a class="navbar-brand" href="#">MindScape</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-
target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="{% url 'home'
%}">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'about' %}">About Us</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'contact' %}">Contact Us</a>
</li>

<li class="nav-item">
<a class="nav-link" href="{% url 'register' %}">Signup</a>
</li>

</ul>
<form class="d-flex" role="search">
<input class="form-control me-2" type="search" placeholder="Search" aria-
label="Search">
<button class="btn btn-outline-success" type="submit">Search</button>
</form>
</div>
</div>
</nav>

step5myapp/views.py
from django.shortcuts import render
from .models import Post
from django.contrib.auth.forms import UserCreationForm
# Create your views here.
def home(request):
ap=Post.objects.all

return render(request,'myapp/home.html',{'ap':ap})
def about(request):
return render(request,'myapp/about.html')
def contact(request):
return render(request,'myapp/contact.html')

def register(request):
f=UserCreationForm()
return render(request,'myapp/register.html',{'f':f})

step6myapp/register.html

{% extends 'myapp/base.html' %}
{% block content %}
<div class="container">
<h1>please Signup here</h1>
<form action="" method="post">
{{f.as_p}}
<input type="submit" value="Signup">

</form>

</div>
{% endblock %}

You might also like