Notes Sharing Web App Coding
Notes Sharing Web App Coding
HTML
1.ABOUT
{% include 'navbar.html' %}
{% load static %}
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div class="about-section">
<h1>About Us</h1>
<p>This is Simple Enotes APP Develop by SRINIDHI</p>
<p>This project anytime anywhere remember all queries of students Motivate
peoples to use.</p>
</div>
<br><br>
<h2 style="text-align:center">Our Team</h2>
<div class="row offset-3">
<div class="column">
<div class="card">
<img src="{% static 'images/t2.jpg' %}" alt="SRINIDHI" style="border-
radius: 50%;">
<div class="container">
<h2>SRINIDHI</h2>
<p class="title">CEO & Founder</p>
<p>SM09@gmail.com</p>
<p><button class="button">Contact</button></p>
</div>
</div>
</div>
<div class="column">
<div class="card">
<img src="{% static 'images/avatar-5.png' %}" alt="JENNIE"
style="border-radius: 50%;">
<div class="container">
<h2>JENNIE</h2>
<p class="title">Software Developer</p>
<p>JENN18@gmail.com</p>
<p><button class="button">Contact</button></p>
</div>
</div>
</div>
</div>
</body>
</html>
2.ADD NOTES
{% extends 'usernavbar.html' %}
{% block main %}
<div class="pagetitle">
<h1>Add Notes</h1>
<nav>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/dashboard">Home</a></li>
<li class="breadcrumb-item active">Add Notes</li>
</ol>
</nav>
</div><!-- End Page Title -->
<div class="col-xl-12">
<div class="card">
<div class="card-body pt-3">
<!-- Bordered Tabs -->
<ul class="nav nav-tabs nav-tabs-bordered">
<li class="nav-item">
<button class="nav-link active" data-bs-
toggle="tab" data-bs-target="#profile-overview">
Add Notes
</button>
</li>
</ul>
<div class="tab-content pt-2">
<div class="text-center">
<button type="submit" class="btn btn-
primary">Submit</button>
</div>
</form><!-- End Profile Edit Form -->
</div>
</div>
</div>
</div>
</div>
</div>
</section>
{% if error == "no" %}
<script>
alert('New Notes Added Successfully.');
window.location=('{% url 'addNotes' %}');
</script>
{% endif %}
{% if error == "yes" %}
<script>
alert('Something went wrong, Try Again');
</script>
{% endif %}
{% endblock %}
3.CHANGE PASSWORD
{% extends 'usernavbar.html' %}
{% block main %}
<div class="pagetitle">
<h1>Change Password</h1>
<nav>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/dashboard">Home</a></li>
<li class="breadcrumb-item active">Change Password</li>
</ol>
</nav>
</div><!-- End Page Title -->
<script>
function checkpassword(){
if(document.changepassword.newpassword.value!
=document.changepassword.confirmpassword.value){
alert('New Password and Confirm Password field does not Match');
document.changepassword.confirmpassword.focus();
return false;
}
return true;
}
</script>
{% if error == "no" %}
<script>
alert('Password updated successfully');
window.location=('{% url 'logout' %}');
</script>
{% endif %}
{% if error == "yes" %}
<script>
alert('Something went wrong , try again later');
</script>
{% endif %}
{% if error == "not" %}
<script>
alert('Your current password is wrong');
</script>
{% endif %}
<div class="col-xl-12">
<div class="card">
<div class="card-body pt-3">
<!-- Bordered Tabs -->
<ul class="nav nav-tabs nav-tabs-bordered">
<li class="nav-item">
<button class="nav-link active" data-bs-
toggle="tab" data-bs-target="#profile-overview">
Change Password
</button>
</li>
</ul>
<div class="tab-content pt-2">
<div class="text-center">
<button type="submit" class="btn btn-
primary">Submit</button>
</div>
</form><!-- End Profile Edit Form -->
</div>
</div>
</div>
</div>
</div>
</div>
</section>
{% endblock %}
4.DASHBOARD
{% extends 'usernavbar.html' %}
{% block main %}
<div class="pagetitle">
<h1>Dashboard</h1>
<nav>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/dashboard">Home</a></li>
<li class="breadcrumb-item active">Dashboard</li>
</ol>
</nav>
</div><!-- End Page Title -->
</div>
</div>
</div>
</div>
</div><!-- End Sales Card -->
</div>
</div>
</div>
</section>
{% endblock %}
5.EDITNOTES
{% extends 'usernavbar.html' %}
{% block main %}
<div class="pagetitle">
<h1>Update Notes</h1>
<nav>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/dashboard">Home</a></li>
<li class="breadcrumb-item active">Update Notes</li>
</ol>
</nav>
</div><!-- End Page Title -->
<div class="col-xl-12">
<div class="card">
<div class="card-body pt-3">
<!-- Bordered Tabs -->
<ul class="nav nav-tabs nav-tabs-bordered">
<li class="nav-item">
<button class="nav-link active" data-bs-
toggle="tab" data-bs-target="#profile-overview">
Edit Notes
</button>
</li>
</ul>
<div class="tab-content pt-2">
<div class="text-center">
<button type="submit" class="btn btn-
primary">Update</button>
</div>
</form><!-- End Profile Edit Form -->
</div>
</div>
</div>
</div>
</div>
</div>
</section>
{% if error == "no" %}
<script>
alert('Notes has been Updated.');
window.location=('{% url 'viewNotes' %}');
</script>
{% endif %}
{% if error == "yes" %}
<script>
alert('Something went wrong, Try Again');
</script>
{% endif %}
{% endblock %}
6.INDEX
{% include 'navbar.html' %}
{% load static %}
<style>
.image{
width :100%;
height : 655px;
background-image :url({% static 'images/enotesss.jpg' %});
background-repeat : no-repeat;
background-size: cover;
}
</style>
<div class="image">
<div class="transparentbox">
<p>Enotes Management System</p>
</div>
</div>
7.NAVBAR
{% load static %}
<!-- CSS cdn-->
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/css/bootstrap.min.css"
integrity="sha384-
Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
crossorigin="anonymous">
<!-- JS cdn-->
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"
integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/
GpGFF93hXpG5KkN"
crossorigin="anonymous"></script>
<script
src="https://cdn.jsdelivr.net/npm/popper.js@1.12.9/dist/umd/popper.min.js"
integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa
0b4Q"
crossorigin="anonymous"></script>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/js/bootstrap.min.js"
integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PV
CmYl"
crossorigin="anonymous"></script>
<!-- font-awesome cdn-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-
awesome/6.0.0/css/all.min.css"
integrity="sha512-
9usAa10IRO0HhonpyAIVpjrylPvoDwiPUiKdWk5t3PyolY1cOd4DSE0Ga+ri4AuTroPR5aQvXU9xC6
qOPnzFeg=="
crossorigin="anonymous" referrerpolicy="no-referrer"/>
<div class="pagetitle">
<h1>Profile</h1>
<nav>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/dashboard">Home</a></li>
<li class="breadcrumb-item active">Profile</li>
</ol>
</nav>
</div><!-- End Page Title -->
<div class="card">
<div class="card-body profile-card pt-4 d-flex flex-column
align-items-center">
<h2>{{user.first_name}} {{user.last_name}}</h2>
<h3>{{signup.About}}</h3>
<div class="social-links mt-2">
<a href="#" class="twitter"><i class="bi bi-
twitter"></i></a>
<a href="#" class="facebook"><i class="bi bi-
facebook"></i></a>
<a href="#" class="instagram"><i class="bi bi-
instagram"></i></a>
<a href="#" class="linkedin"><i class="bi bi-
linkedin"></i></a>
</div>
</div>
</div>
</div>
<div class="col-xl-8">
<div class="card">
<div class="card-body pt-3">
<!-- Bordered Tabs -->
<ul class="nav nav-tabs nav-tabs-bordered">
<li class="nav-item">
<button class="nav-link active" data-bs-
toggle="tab" data-bs-target="#profile-overview">
Overview
</button>
</li>
<li class="nav-item">
<button class="nav-link" data-bs-toggle="tab"
data-bs-target="#profile-edit">Edit Profile
</button>
</li>
</ul>
<div class="tab-content pt-2">
<div class="row">
<div class="col-lg-3 col-md-4 label ">Full
Name</div>
<div class="col-lg-9 col-md-
8">{{user.first_name}} {{user.last_name}}</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-4 label
">About</div>
<div class="col-lg-9 col-md-
8">{{signup.About}}</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-4 label">Email
ID</div>
<div class="col-lg-9 col-md-
8">{{user.username}}</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-4 label">Contact
Number</div>
<div class="col-lg-9 col-md-
8">{{signup.ContactNo}}</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-4
label">Registration Date</div>
<div class="col-lg-9 col-md-
8">{{signup.RegDate}}</div>
</div>
</div>
<div class="text-center">
<button type="submit" class="btn btn-
primary">Save Changes</button>
</div>
</form><!-- End Profile Edit Form -->
</div>
</div>
</div>
</div>
</div>
</div>
</section>
{% if error == "no" %}
<script>
alert('Profile has been Updated.');
window.location=('{% url 'profile' %}');
</script>
{% endif %}
{% if error == "yes" %}
<script>
alert('Something went wrong, Try Again');
</script>
{% endif %}
{% endblock %}
9.REGISTER
{% load static %}
<html>
<head>
<title>Login Form</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1,
shrink-to-fit=no">
<link rel="stylesheet" type="text/css" href="{% static 'css/login.css'
%}">
<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css
">
<link
href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-
awesome.min.css" rel="stylesheet">
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
</head>
<body>
<div class="container">
<div class="row px-3">
<div class="col-lg-10 col-xl-9 card flex-row mx-auto px-0">
<div class="img-left d-none d-md-flex"></div>
<div class="card-body">
<h4 class="title text-center mt-4">
Register Form
</h4>
<form class="form-box px-3" method="post">
{% csrf_token %}
<div class="form-input">
<span><i class="fa fa-user"></i></span>
<input type="text" name="firstName" placeholder="Enter
First Name" required>
</div>
<div class="form-input">
<span><i class="fa fa-user"></i></span>
<input type="text" name="lastName" placeholder="Enter
Last Name" required>
</div>
<div class="form-input">
<span><i class="fa fa-envelope-o"></i></span>
<input type="email" name="email" placeholder="Email
Address" required>
</div>
<div class="form-input">
<span><i class="fa fa-key"></i></span>
<input type="password" name="password"
placeholder="Password" required>
</div>
<div class="form-input">
<span><i class="fa fa-phone"></i></span>
<input type="text" name="ContactNo" placeholder="Enter
Contact No." maxlength="10" required>
</div>
<div class="form-input">
<span><i class="fa fa-address-card"></i></span>
<textarea name="About" placeholder="About...."
required></textarea>
</div>
<div class="mb-3">
<button type="submit" class="btn btn-block text-
uppercase">
Submit
</button>
</div>
{% if error == "no" %}
<script>
alert('Registration Successfully');
window.location=('{% url 'user_login' %}');
</script>
{% endif %}
{% if error == "yes" %}
<script>
alert('Something went wrong, Try Again');
</script>
{% endif %}
</body>
</html>
10.USER LOGIN
{% load static %}
<html>
<head>
<title>Login Form</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1,
shrink-to-fit=no">
<link rel="stylesheet" type="text/css" href="{% static 'css/login.css'
%}">
<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css
">
<link
href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-
awesome.min.css" rel="stylesheet">
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
</head>
<body>
<div class="container">
<div class="row px-3">
<div class="col-lg-10 col-xl-9 card flex-row mx-auto px-0">
<div class="img-left d-none d-md-flex"></div>
<div class="card-body">
<h4 class="title text-center mt-4">
Login
</h4>
<form class="form-box px-3" method="post">
{% csrf_token %}
<div class="form-input">
<span><i class="fa fa-envelope-o"></i></span>
<input type="email" name="email" placeholder="Email
Address" tabindex="10" required>
</div>
<div class="form-input">
<span><i class="fa fa-key"></i></span>
<input type="password" name="password"
placeholder="Password" required>
</div>
<div class="mb-3">
<button type="submit" class="btn btn-block text-
uppercase">
Login
</button>
</div>
</div>
<hr class="my-4">
{% if error == "no" %}
<script>
alert('Logged In Successfully');
window.location=('{% url 'dashboard' %}');
</script>
{% endif %}
{% if error == "yes" %}
<script>
alert('Invalid Credential, Try Again');
</script>
{% endif %}
</body>
</html>
11.USER NAVBAR
{% load static %}
<html lang="en">
<head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
</head>
<body>
<li>
<a class="dropdown-item d-flex align-items-center"
href="/profile">
<i class="bi bi-person"></i>
<span>My Profile</span>
</a>
</li>
<li>
<hr class="dropdown-divider">
</li>
<li>
<a class="dropdown-item d-flex align-items-center"
href="/changePassword">
<i class="bi bi-gear"></i>
<span>Account Settings</span>
</a>
</li>
<li>
<hr class="dropdown-divider">
</li>
<li>
<hr class="dropdown-divider">
</li>
<li>
<a class="dropdown-item d-flex align-items-center"
href="/logout">
<i class="bi bi-box-arrow-right"></i>
<span>Sign Out</span>
</a>
</li>
</ul>
</nav><!-- End Icons Navigation -->
<li class="nav-item">
<a class="nav-link" href="/dashboard">
<i class="bi bi-grid"></i>
<span>Dashboard</span>
</a>
</li><!-- End Dashboard Nav -->
<li class="nav-item">
<a class="nav-link collapsed" href="/profile">
<i class="bi bi-person"></i>
<span>Profile</span>
</a>
</li><!-- End Profile Page Nav -->
<li class="nav-item">
<a class="nav-link collapsed" href="/addNotes">
<i class="bi bi-question-circle"></i>
<span>Add Notes</span>
</a>
</li><!-- End F.A.Q Page Nav -->
<li class="nav-item">
<a class="nav-link collapsed" href="/viewNotes">
<i class="bi bi-envelope"></i>
<span>View Notes</span>
</a>
</li><!-- End Contact Page Nav -->
<li class="nav-item">
<a class="nav-link collapsed" href="/changePassword">
<i class="bi bi-card-list"></i>
<span>Change Password</span>
</a>
</li><!-- End Register Page Nav -->
<li class="nav-item">
<a class="nav-link collapsed" href="/logout">
<i class="bi bi-box-arrow-in-right"></i>
<span>Logout</span>
</a>
</li><!-- End Login Page Nav -->
</ul>
{% endblock %}
</section>
{% extends 'usernavbar.html' %}
{% block main %}
<div class="pagetitle">
<h1>View Notes</h1>
<nav>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/dashboard">Home</a></li>
<li class="breadcrumb-item active">View Notes</li>
</ol>
</nav>
</div>
<section class="section">
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-body">
<h5 class="card-title">View Notes</h5>
<tbody>
{% for i in notes %}
<tr>
<td>{{forloop.counter}}</td>
<td>{{i.Title}}</td>
<td>{{i.CreationDate}}</td>
<td><a href="{% url 'editNotes' i.id %}" class="btn btn-
primary">Edit</a> |
<a href="{% url 'deleteNotes' i.id %}" class="btn btn-
danger" onclick="return confirm('Are your sure to Delete ?')">Delete</a></td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>
</section>
{% endblock %}
CSS
1.LOGIN
body{
height: 100vh;
background: #0062E6 !important;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.card{
overflow: hidden;
border: 0 !important;
border-radius: 20px !important;
box-shadow: 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.1);
}
.img-left{
width: 45%;
background: url('/static/images/log.jpg') center;
background-size: cover;
}
.card-body{
padding: 2rem;
}
.title{
margin-bottom: 2rem;
}
.form-input{
position: relative;
}
.form-input input{
width: 100%;
height: 45px;
padding-left: 40px;
margin-bottom: 20px;
box-sizing: border-box;
box-shadow: none;
border: 1px solid #00000020;
border-radius: 50px;
outline: none;
background: transparent;
}
.form-input span{
position: absolute;
top: 10px;
padding-left: 15px;
color: #007bff;
}
.form-input input::placeholder{
color: black;
padding-left: 0px;
}
.form-input input:focus::placeholder{
color: #454b69;
}
.form-input textarea{
width: 100%;
height: 45px;
padding-left: 40px;
margin-bottom: 20px;
box-sizing: border-box;
box-shadow: none;
border: 1px solid #00000020;
border-radius: 50px;
outline: none;
background: transparent;
}
.form-input textarea::placeholder{
color: black;
padding-left: 0px;
}
.form-input textarea:focus::placeholder{
color: #454b69;
}
.form-box button[type="submit"]{
margin-top: 10px;
border: none;
cursor: pointer;
border-radius: 50px;
background: #007bff;
color: #fff;
font-size: 90%;
font-weight: bold;
letter-spacing: .1rem;
transition: 0.5s;
padding: 12px;
}
.form-box button[type="submit"]:hover{
background: #0069d9;
}
.forget-link, .register-link{
color: #007bff;
font-weight: bold;
}
.forget-link:hover, .register-link:hover{
color: #0069d9;
text-decoration: none;
}
.form-box .btn-social{
color: white !important;
border: 0;
font-weight: bold;
}
.form-box .btn-facebook{
margin-top: 10px;
border: none;
cursor: pointer;
border-radius: 50px;
font-size: 90%;
font-weight: bold;
letter-spacing: .1rem;
transition: 0.5s;
padding: 12px;
background: #4866a8;
}
.form-box .btn-facebook:hover{
background: #3d578f;
}
2.STYLE
.bg-custom {
background-color: #1a5b7e;
}
.transparentbox{
width : 100%;
height : 655px;
background-color : lightgrey;
border : 1px solid #CD853F;
opacity : 0.6;
}
.transparentbox p{
margin-top : 15%;
font-weight : bold;
font-size : 60px;
font-family :'Monotype Corsiva';
color : DarkRed;
text-align : center;
}
body {
font-family: Arial, Helvetica, sans-serif;
margin: 0;
}
html {
box-sizing: border-box;
}
*, *:before, *:after {
box-sizing: inherit;
}
.column {
float: left;
width: 33.3%;
margin-bottom: 16px;
padding: 0 8px;
}
.card {
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
margin: 8px;
}
.about-section {
padding: 50px;
text-align: center;
background-color: #474e5d;
color: white;
}
.container {
padding: 0 16px;
}
.container::after, .row::after {
content: "";
clear: both;
display: table;
}
.title {
color: grey;
}
.button {
border: none;
outline: 0;
display: inline-block;
padding: 8px;
color: white;
background-color: #000;
text-align: center;
cursor: pointer;
width: 100%;
}
.button:hover {
background-color: #555;
}
body{
background: #edf1f5;
margin-top:20px;
}
.card {
position: relative;
display: flex;
flex-direction: column;
min-width: 0;
word-wrap: break-word;
background-color: #fff;
background-clip: border-box;
border: 0 solid transparent;
border-radius: 0;
}
.card {
margin-bottom: 30px;
}
.card-body {
flex: 1 1 auto;
padding: 1.57rem;
}
.note-has-grid .nav-link {
padding: .5rem
}
@media (max-width:767.98px) {
.note-has-grid .single-note-item {
max-width: 100%
}
}
@media (max-width:991.98px) {
.note-has-grid .single-note-item {
max-width: 216px
}
}
admin.site.register(Signup)
admin.site.register(Notes)
2.APPS
class EnotesConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'enotes'
3.MODELS
class Signup(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
ContactNo = models.CharField(max_length=10, null=True)
About = models.CharField(max_length=450, null=True)
Role = models.CharField(max_length=150, null=True)
RegDate = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.user.first_name
class Notes(models.Model):
signup = models.ForeignKey(Signup, on_delete=models.CASCADE)
Title = models.CharField(max_length=200, null=True)
Content = models.CharField(max_length=450, null=True)
CreationDate = models.DateTimeField(auto_now_add=True)
UpdationDate = models.DateField(null=True)
def __str__(self):
return self.Title
4.TESTS
5.VIEWS
def index(request):
return render(request, 'index.html')
def about(request):
return render(request, 'about.html')
def register(request):
error = ""
if request.method == 'POST':
fn = request.POST['firstName']
ln = request.POST['lastName']
e = request.POST['email']
p = request.POST['password']
c = request.POST['ContactNo']
ab = request.POST['About']
role = "ROLE_USER"
try:
user = User.objects.create_user(username=e, password=p,
first_name=fn, last_name=ln)
Signup.objects.create(user=user, ContactNo=c, About=ab, Role=role)
error = "no"
except:
error = "yes"
return render(request, 'register.html', locals())
def user_login(request):
error = ""
if request.method == 'POST':
u = request.POST['email']
p = request.POST['password']
user = authenticate(username=u, password=p)
try:
if user:
login(request, user)
error = "no"
else:
error = "yes"
except:
error = "yes"
return render(request, 'user_login.html', locals())
def dashboard(request):
if not request.user.is_authenticated:
return redirect('user_login')
user = User.objects.get(id=request.user.id)
signup = Signup.objects.get(user=user)
totalnotes = Notes.objects.filter(signup=signup).count()
return render(request, 'dashboard.html', locals())
def profile(request):
if not request.user.is_authenticated:
return redirect('user_login')
user = User.objects.get(id=request.user.id)
signup = Signup.objects.get(user=user)
if request.method == "POST":
fname = request.POST['firstName']
lname = request.POST['lastName']
contactNo = request.POST['ContactNo']
about = request.POST['About']
signup.user.first_name = fname
signup.user.last_name = lname
signup.ContactNo = contactNo
signup.About = about
try:
signup.save()
signup.user.save()
error = "no"
except:
error = "yes"
return render(request, 'profile.html', locals())
def addNotes(request):
if not request.user.is_authenticated:
return redirect('user_login')
user = User.objects.get(id=request.user.id)
signup = Signup.objects.get(user=user)
error = ""
if request.method == "POST":
title = request.POST['Title']
content = request.POST['Content']
try:
Notes.objects.create(signup=signup, Title=title, Content=content)
error = "no"
except:
error = "yes"
return render(request, 'addNotes.html', locals())
def viewNotes(request):
if not request.user.is_authenticated:
return redirect('user_login')
user = User.objects.get(id=request.user.id)
signup = Signup.objects.get(user=user)
notes = Notes.objects.filter(signup=signup)
return render(request, 'viewNotes.html', locals())
def editNotes(request,pid):
if not request.user.is_authenticated:
return redirect('user_login')
notes = Notes.objects.get(id=pid)
if request.method == "POST":
title = request.POST['Title']
content = request.POST['Content']
notes.Title = title
notes.Content = content
try:
notes.save()
error = "no"
except:
error = "yes"
return render(request, 'editNotes.html', locals())
def deleteNotes(request,pid):
if not request.user.is_authenticated:
return redirect('user_login')
notes = Notes.objects.get(id=pid)
notes.delete()
return redirect('viewNotes')
def changePassword(request):
if not request.user.is_authenticated:
return redirect('user_login')
error = ""
user = request.user
if request.method == "POST":
o = request.POST['oldpassword']
n = request.POST['newpassword']
try:
u = User.objects.get(id=request.user.id)
if user.check_password(o):
u.set_password(n)
u.save()
error = "no"
else:
error = 'not'
except:
error = "yes"
return render(request, 'changePassword.html', locals())
def Logout(request):
logout(request)
return redirect('index')
6.ASGI
"""
ASGI config for Enotes_Management_System project.
import os
from django.core.asgi import get_asgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE',
'Enotes_Management_System.settings')
application = get_asgi_application()
7.SETTINGS
"""
Django settings for Enotes_Management_System project.
ALLOWED_HOSTS = []
# Application definition
INSTALLED_APPS = [
'enotes',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
ROOT_URLCONF = 'Enotes_Management_System.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_APPLICATION = 'Enotes_Management_System.wsgi.application'
# Database
# https://docs.djangoproject.com/en/3.2/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
# Password validation
# https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
{
'NAME':
'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME':
'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME':
'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME':
'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
# Internationalization
# https://docs.djangoproject.com/en/3.2/topics/i18n/
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
STATIC_URL = '/static/'
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
8.URLS
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/3.2/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path
from enotes.views import *
urlpatterns = [
path('admin/', admin.site.urls),
path('', index, name='index'),
path('about', about, name='about'),
path('register', register, name='register'),
path('user_login', user_login, name='user_login'),
path('dashboard', dashboard, name='dashboard'),
path('profile', profile, name='profile'),
path('addNotes', addNotes, name='addNotes'),
path('viewNotes', viewNotes, name='viewNotes'),
path('editNotes/<int:pid>', editNotes, name='editNotes'),
path('deleteNotes/<int:pid>', deleteNotes, name='deleteNotes'),
path('changePassword', changePassword, name='changePassword'),
path('logout', Logout, name='logout'),
]
9.WSGI
"""
WSGI config for Enotes_Management_System project.
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE',
'Enotes_Management_System.settings')
application = get_wsgi_application()
10.MANAGE
#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys
def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE',
'Enotes_Management_System.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)
if __name__ == '__main__':
main()