BES-29 Added backend logic and blank homepage.
This commit is contained in:
parent
d2de735937
commit
57d469611d
@ -2,10 +2,16 @@
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="b23c009e-2f8a-48f7-8b29-023f93596932" name="Default Changelist" comment="">
|
||||
<change afterPath="$PROJECT_DIR$/bestnotes/dbAPI.py" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/bestnotes/templates/base.html" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/bestnotes/templates/homepage.html" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/bestnotes/templates/navbar.html" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/bestnotes/templates/profesor.html" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/bestnotes/templates/przedmiot.html" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/bestnotes/templates/registration/login.html" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/bestnotes/models.py" beforeDir="false" afterPath="$PROJECT_DIR$/bestnotes/models.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/bestnotes/tests.py" beforeDir="false" afterPath="$PROJECT_DIR$/bestnotes/tests.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/BestNotesProject/settings.py" beforeDir="false" afterPath="$PROJECT_DIR$/BestNotesProject/settings.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/bestnotes/urls.py" beforeDir="false" afterPath="$PROJECT_DIR$/bestnotes/urls.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/bestnotes/views.py" beforeDir="false" afterPath="$PROJECT_DIR$/bestnotes/views.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/db.sqlite3" beforeDir="false" afterPath="$PROJECT_DIR$/db.sqlite3" afterDir="false" />
|
||||
</list>
|
||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||
@ -18,6 +24,7 @@
|
||||
<option name="RECENT_TEMPLATES">
|
||||
<list>
|
||||
<option value="Python Script" />
|
||||
<option value="HTML File" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@ -32,10 +39,16 @@
|
||||
<component name="ProjectId" id="1U5Jq3TEUnuX8tmyYK4OsXqAEBc" />
|
||||
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
||||
<component name="PropertiesComponent">
|
||||
<property name="DefaultHtmlFileTemplate" value="HTML File" />
|
||||
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/bestnotes" />
|
||||
<property name="settings.editor.selected.configurable" value="preferences.general" />
|
||||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="E:\MojeDane\StudiaWMI\Semestr_2_Zimowy_2019-20\Systemy_informatyczne\merged_master\BestNotes\bestnotes" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunDashboard">
|
||||
<option name="ruleStates">
|
||||
<list>
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -27,7 +27,9 @@ DEBUG = True
|
||||
|
||||
ALLOWED_HOSTS = []
|
||||
|
||||
|
||||
#
|
||||
LOGIN_REDIRECT_URL = '/bestnotes/profesor/'
|
||||
LOGOUT_REDIRECT_URL = '/bestnotes/'
|
||||
# Application definition
|
||||
|
||||
INSTALLED_APPS = [
|
||||
@ -38,6 +40,7 @@ INSTALLED_APPS = [
|
||||
'django.contrib.sessions',
|
||||
'django.contrib.messages',
|
||||
'django.contrib.staticfiles',
|
||||
'widget_tweaks',
|
||||
]
|
||||
|
||||
MIDDLEWARE = [
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
29
bestnotes/templates/base.html
Normal file
29
bestnotes/templates/base.html
Normal file
@ -0,0 +1,29 @@
|
||||
<!doctype html>
|
||||
<html lang="pl">
|
||||
{% load static %}
|
||||
<head>
|
||||
<!-- Required meta tags -->
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<!-- Bootstrap CSS -->
|
||||
|
||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'navbar.css' %}">
|
||||
|
||||
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
|
||||
{% block css %}
|
||||
{% endblock %}
|
||||
<title>Best Notes</title>
|
||||
</head>
|
||||
<body>
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
|
||||
<!-- Optional JavaScript -->
|
||||
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
|
||||
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
|
||||
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
|
||||
</body>
|
||||
</html>
|
18
bestnotes/templates/homepage.html
Normal file
18
bestnotes/templates/homepage.html
Normal file
@ -0,0 +1,18 @@
|
||||
{% extends 'base.html' %}
|
||||
{% load static %}
|
||||
{% block css %}
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'homepage.css' %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
|
||||
|
||||
{% include 'navbar.html' %}
|
||||
|
||||
<div class="container">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
{% endblock %}
|
18
bestnotes/templates/navbar.html
Normal file
18
bestnotes/templates/navbar.html
Normal file
@ -0,0 +1,18 @@
|
||||
<nav class="navbar navbar-expand-lg navbar-dark bg-primary">
|
||||
<a class="navbar-brand" href="{% url 'homepage' %}">
|
||||
<i class="fa fa-sticky-note logo"></i>
|
||||
<strong>Best Notes</strong>
|
||||
</a>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<ul class="navbar-nav collapse navbar-collapse" id="navbarNav">
|
||||
<li class="nav-item nav-link" href="{% url 'homepage' %}"><a class="nolink" href="{% url 'homepage' %}">Strona główna</a><span class="sr-only">(current)</span></li>
|
||||
{% if user.is_authenticated %}
|
||||
<li class="nav-item nav-link active"><a class="nolink" href="{% url 'profesor' %}">Przedmioty</a></li>
|
||||
<li class="nav-item nav-link active"><a class="nolink" href="{% url 'logout' %}">Wyloguj się</a></li>
|
||||
{% else %}
|
||||
<li class="nav-item nav-link active"><a class="nolink" href="{% url 'login' %}">Zaloguj się</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
50
bestnotes/templates/profesor.html
Normal file
50
bestnotes/templates/profesor.html
Normal file
@ -0,0 +1,50 @@
|
||||
{% extends 'base.html' %}
|
||||
{% load static %}
|
||||
{% block css %}
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'profesor.css' %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% if user.is_authenticated %}
|
||||
|
||||
{% include 'navbar.html' %}
|
||||
|
||||
<div class="container">
|
||||
<div class="d-flex justify-content-center mt-5">
|
||||
<h3>Dodaj nowy przedmiot</h3>
|
||||
</div>
|
||||
<div class="d-flex justify-content-center mt-3">
|
||||
<form role="form">
|
||||
<input type="text" class="form-control" placeholder="Nowy przedmiot" name="przedmiot">
|
||||
</form>
|
||||
<button type="button" class="btn btn btn-primary ml-1">Dodaj</button>
|
||||
</div>
|
||||
<div class="d-flex justify-content-center mt-5">
|
||||
<h3>Lista przedmiotów</h3>
|
||||
</div>
|
||||
<a class="row justify-content-center">Liczba dostępnych przedmiotów: 3/5</a>
|
||||
<ul class="list-group cProductsList mt-3">
|
||||
<li class="list-group-item d-sm-flex justify-content-between"><p class="p-0 m-0 flex-grow-1">Sztuczna inteligencja</p>
|
||||
<button class="btn-primary mr-1" ><a class="nolink" href="/profesor/Sztuczna inteligencja">Zarządzaj</a></button>
|
||||
<button class="btn-success mr-1">Edytuj</button>
|
||||
<button class="btn-danger">Usuń</button>
|
||||
</li>
|
||||
<li class="list-group-item d-sm-flex justify-content-between"><p class="p-0 m-0 flex-grow-1">Systemy informatyczne</p>
|
||||
<button class="btn-primary mr-1"><a class="nolink" href="/profesor/Systemy informatyczne">Zarządzaj</a></button>
|
||||
<button class="btn-success mr-1">Edytuj</button>
|
||||
<button class="btn-danger">Usuń</button>
|
||||
</li>
|
||||
<li class="list-group-item d-sm-flex justify-content-between"><p class="p-0 m-0 flex-grow-1">Programowanie</p>
|
||||
<button class="btn-primary mr-1"><a class="nolink" href="/profesor/Programowanie">Zarządzaj</a></button>
|
||||
<button class="btn-success mr-1">Edytuj</button>
|
||||
<button class="btn-danger">Usuń</button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{% else %}
|
||||
<a href="{% url 'login' %}">Zaloguj sie</a>
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
37
bestnotes/templates/przedmiot.html
Normal file
37
bestnotes/templates/przedmiot.html
Normal file
@ -0,0 +1,37 @@
|
||||
{% extends 'base.html' %}
|
||||
{% load static %}
|
||||
|
||||
{% block content %}
|
||||
{% include 'navbar.html' %}
|
||||
<div class="container d-flex justify-content-center">
|
||||
<div class="row mt-4"><h1>{{id}}</h1></div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div class="d-flex justify-content-center mt-5">
|
||||
<h3>Dodaj nowe zagadnienie</h3>
|
||||
</div>
|
||||
<div class="d-flex justify-content-center mt-3">
|
||||
<form role="form">
|
||||
<input type="text" class="form-control" placeholder="Nowe zagadnienie" name="przedmiot">
|
||||
</form>
|
||||
<button type="button" class="btn btn btn-primary ml-1">Dodaj</button>
|
||||
</div>
|
||||
<div class="d-flex justify-content-center mt-5">
|
||||
<h3>Lista zagadnień</h3>
|
||||
</div>
|
||||
<a class="row justify-content-center">Liczba dostępnych zagadnień: 3/15</a>
|
||||
<ul class="list-group cProductsList mt-3">
|
||||
<li class="list-group-item d-sm-flex justify-content-between"><p class="p-0 m-0 flex-grow-1">1. Podstawy sztucznej inteligencji</p>
|
||||
<button class="btn-success mr-1">Edytuj</button> <button class="btn-danger">Usuń</button>
|
||||
</li>
|
||||
<li class="list-group-item d-sm-flex justify-content-between"><p class="p-0 m-0 flex-grow-1">2. Jak dziala regresja liniowa</p>
|
||||
<button class="btn-success mr-1">Edytuj</button> <button class="btn-danger">Usuń</button>
|
||||
</li>
|
||||
<li class="list-group-item d-sm-flex justify-content-between"><p class="p-0 m-0 flex-grow-1">3. Regresja liniowa, a logistyczna</p>
|
||||
<button class="btn-success mr-1">Edytuj</button> <button class="btn-danger">Usuń</button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
42
bestnotes/templates/registration/login.html
Normal file
42
bestnotes/templates/registration/login.html
Normal file
@ -0,0 +1,42 @@
|
||||
{% extends 'base.html' %}
|
||||
{% load widget_tweaks %}
|
||||
{% load static %}
|
||||
{% block css %}
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'login.css' %}">
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
|
||||
{% include 'navbar.html' %}
|
||||
|
||||
<div class="container login-container">
|
||||
<div class="row justify-content-md-center">
|
||||
<div class="col-md-6 login-form-2">
|
||||
<i class="fa fa-sticky-note-o fa-5x logo"> </i>
|
||||
<h1><strong>Best Notes</strong></h1>
|
||||
<form method="post" action="{% url 'login' %}">
|
||||
{% csrf_token %}
|
||||
|
||||
{% for hidden in form.hidden_fields %}
|
||||
{{ hidden }}
|
||||
{% endfor %}
|
||||
|
||||
{% if form.errors %}
|
||||
<p class="text-warning">Nieprawidłowy adres e-mail lub hasło. Spróbuj ponownie!</p>
|
||||
{% endif %}
|
||||
|
||||
<div class="input-group mb-3">
|
||||
<div class="input-group-prepend"><i class="input-group-text fa fa-envelope fa-lg"></i></div>
|
||||
{% render_field form.username class="form-control" placeholder="Email"%}
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend"><i class="input-group-text fa fa-lock fa-lg"></i></div>
|
||||
{% render_field form.password class="form-control" placeholder="Hasło"%}
|
||||
</div>
|
||||
<div class="form-group mt-3">
|
||||
<input type="submit" class="btnSubmit" value="Login" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
@ -1,7 +1,11 @@
|
||||
from django.urls import path
|
||||
from django.urls import path, include
|
||||
|
||||
from . import views
|
||||
|
||||
urlpatterns = [
|
||||
path('', views.index, name='index')
|
||||
]
|
||||
path('', views.homepage, name='homepage'),
|
||||
#path('/', views.login),
|
||||
path('accounts/', include("django.contrib.auth.urls")),
|
||||
path('profesor/', views.profesor, name="profesor"),
|
||||
path('profesor/<id>', views.profesor_id),
|
||||
]
|
||||
|
@ -4,5 +4,14 @@ from django.shortcuts import render
|
||||
|
||||
from django.http import HttpResponse
|
||||
|
||||
def index(request):
|
||||
return HttpResponse("BestNotes' index will be here.")
|
||||
def homepage(request):
|
||||
#return HttpResponse("BestNotes' index will be here.")
|
||||
return render(request, "homepage.html", {})
|
||||
def login(request):
|
||||
return render(request, "login.html", {})
|
||||
|
||||
def profesor(request):
|
||||
return render(request, "profesor.html", {})
|
||||
|
||||
def profesor_id(request,id):
|
||||
return render(request, "przedmiot.html", {'id': id})
|
BIN
db.sqlite3
BIN
db.sqlite3
Binary file not shown.
Loading…
Reference in New Issue
Block a user