Merge pull request #17 from wulkanowy/react

Preparing for react
This commit is contained in:
Pengwius 2021-01-23 13:07:13 +01:00 committed by GitHub
commit a1695fbdd9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
47 changed files with 118 additions and 96 deletions

View file

@ -1,5 +1,5 @@
# Wulkanowy-web # Wulkanowy-web
🌋 Unofficial browser VULCAN UONET+ register client for both students and their parents 🌋 Unofficial browser VULCAN UONET+ client for both students and their parents
![GitHub Workflow Status](https://github.com/wulkanowy/wulkanowy-web/workflows/Python%20application/badge.svg) ![GitHub Workflow Status](https://github.com/wulkanowy/wulkanowy-web/workflows/Python%20application/badge.svg)
[![Discord](https://img.shields.io/discord/390889354199040011.svg?color=#33CD56)](https://discord.gg/vccAQBr) [![Discord](https://img.shields.io/discord/390889354199040011.svg?color=#33CD56)](https://discord.gg/vccAQBr)

View file

@ -21,16 +21,6 @@ from .API.school_data import get_school_data
from .API.dashboard import get_dashboard from .API.dashboard import get_dashboard
from .decrypt import decrypt_cookies from .decrypt import decrypt_cookies
#views
def default_view(request, *args, **kwargs):
return render(request, 'index.html')
def content_view(request, *args, **kwargs):
if request.session.has_key('is_logged'):
return render(request, 'content.html')
else:
return redirect('../')
#API #API
def login(request, *args, **kwargs): def login(request, *args, **kwargs):
data = json.loads(request.body) data = json.loads(request.body)

0
frontend/__init__.py Normal file
View file

3
frontend/admin.py Normal file
View file

@ -0,0 +1,3 @@
from django.contrib import admin
# Register your models here.

5
frontend/apps.py Normal file
View file

@ -0,0 +1,5 @@
from django.apps import AppConfig
class FrontendConfig(AppConfig):
name = 'frontend'

View file

3
frontend/models.py Normal file
View file

@ -0,0 +1,3 @@
from django.db import models
# Create your models here.

View file

@ -1040,9 +1040,9 @@
} }
}, },
"@types/estree": { "@types/estree": {
"version": "0.0.45", "version": "0.0.46",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz",
"integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==", "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==",
"dev": true "dev": true
}, },
"@types/json-schema": { "@types/json-schema": {
@ -1052,9 +1052,9 @@
"dev": true "dev": true
}, },
"@types/node": { "@types/node": {
"version": "14.14.20", "version": "14.14.22",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.20.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz",
"integrity": "sha512-Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A==", "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==",
"dev": true "dev": true
}, },
"@webassemblyjs/ast": { "@webassemblyjs/ast": {
@ -1491,9 +1491,9 @@
"dev": true "dev": true
}, },
"enhanced-resolve": { "enhanced-resolve": {
"version": "5.6.0", "version": "5.7.0",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.6.0.tgz", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz",
"integrity": "sha512-C3GGDfFZmqUa21o10YRKbZN60DPl0HyXKXxoEnQMWso9u7KMU23L7CBHfr/rVxORddY/8YQZaU2MZ1ewTS8Pcw==", "integrity": "sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==",
"dev": true, "dev": true,
"requires": { "requires": {
"graceful-fs": "^4.2.4", "graceful-fs": "^4.2.4",
@ -1515,6 +1515,12 @@
"integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==", "integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==",
"dev": true "dev": true
}, },
"es-module-lexer": {
"version": "0.3.26",
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.3.26.tgz",
"integrity": "sha512-Va0Q/xqtrss45hWzP8CZJwzGSZJjDM5/MJRE3IXXnUCcVLElR9BRaE9F62BopysASyc4nM3uwhSW7FFB9nlWAA==",
"dev": true
},
"escalade": { "escalade": {
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
@ -2407,20 +2413,21 @@
} }
}, },
"webpack": { "webpack": {
"version": "5.13.0", "version": "5.17.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.13.0.tgz", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.17.0.tgz",
"integrity": "sha512-NPhMEtfhSVegp1FNPkCM1MPygDm0GHwpreG10dh//0Gr0epfB0br9nlgEfxSghxJqrQ7j9XzgO91CGGLWZiHeA==", "integrity": "sha512-R+IdNEaYcYaACpXZOt7reyc8txBK7J06lOPkX1SbgmeoAnUbyBZivJIksrDBnmMA3wlTWvPcX7DubxELyPB8rA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/eslint-scope": "^3.7.0", "@types/eslint-scope": "^3.7.0",
"@types/estree": "^0.0.45", "@types/estree": "^0.0.46",
"@webassemblyjs/ast": "1.11.0", "@webassemblyjs/ast": "1.11.0",
"@webassemblyjs/wasm-edit": "1.11.0", "@webassemblyjs/wasm-edit": "1.11.0",
"@webassemblyjs/wasm-parser": "1.11.0", "@webassemblyjs/wasm-parser": "1.11.0",
"acorn": "^8.0.4", "acorn": "^8.0.4",
"browserslist": "^4.14.5", "browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2", "chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.6.0", "enhanced-resolve": "^5.7.0",
"es-module-lexer": "^0.3.26",
"eslint-scope": "^5.1.1", "eslint-scope": "^5.1.1",
"events": "^3.2.0", "events": "^3.2.0",
"glob-to-regexp": "^0.4.1", "glob-to-regexp": "^0.4.1",

View file

@ -33,7 +33,7 @@
"@babel/core": "^7.12.10", "@babel/core": "^7.12.10",
"@babel/preset-env": "^7.12.11", "@babel/preset-env": "^7.12.11",
"babel-loader": "^8.2.2", "babel-loader": "^8.2.2",
"webpack": "^5.13.0", "webpack": "^5.17.0",
"webpack-cli": "^4.3.1" "webpack-cli": "^4.3.1"
} }
} }

View file

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

View file

Before

Width:  |  Height:  |  Size: 432 B

After

Width:  |  Height:  |  Size: 432 B

View file

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 2 KiB

View file

Before

Width:  |  Height:  |  Size: 896 B

After

Width:  |  Height:  |  Size: 896 B

View file

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 203 KiB

After

Width:  |  Height:  |  Size: 203 KiB

View file

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View file

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

View file

@ -5,19 +5,19 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" href="{% static 'css/start.css' %}" type="text/css" /> <link rel="stylesheet" href="{% static 'frontend/css/start.css' %}" type="text/css" />
<script src="{% static 'js/start.js' %}" type="text/javascript" defer></script> <script src="{% static 'frontend/js/start.js' %}" type="text/javascript" defer></script>
<script src="{% static 'js/dashboard.js' %}" type="text/javascript" defer></script> <script src="{% static 'frontend/js/dashboard.js' %}" type="text/javascript" defer></script>
<script src="{% static 'js/dist/out-grades.js' %}" type="text/javascript" defer></script> <script src="{% static 'frontend/js/dist/out-grades.js' %}" type="text/javascript" defer></script>
<script src="{% static 'js/timetable.js' %}" type="text/javascript" defer></script> <script src="{% static 'frontend/js/timetable.js' %}" type="text/javascript" defer></script>
<script src="{% static 'js/exams.js' %}" type="text/javascript" defer></script> <script src="{% static 'frontend/js/exams.js' %}" type="text/javascript" defer></script>
<script src="{% static 'js/notes.js' %}" type="text/javascript" defer></script> <script src="{% static 'frontend/js/notes.js' %}" type="text/javascript" defer></script>
<script src="{% static 'js/attendance.js' %}" type="text/javascript" defer></script> <script src="{% static 'frontend/js/attendance.js' %}" type="text/javascript" defer></script>
<script src="{% static 'js/homeworks.js' %}" type="text/javascript" defer></script> <script src="{% static 'frontend/js/homeworks.js' %}" type="text/javascript" defer></script>
<script src="{% static 'js/dist/out-messages.js' %}" type="text/javascript" defer></script> <script src="{% static 'frontend/js/dist/out-messages.js' %}" type="text/javascript" defer></script>
<script src="{% static 'js/mobile_access.js' %}" type="text/javascript" defer></script> <script src="{% static 'frontend/js/mobile_access.js' %}" type="text/javascript" defer></script>
<script src="{% static 'js/school_data.js' %}" type="text/javascript" defer></script> <script src="{% static 'frontend/js/school_data.js' %}" type="text/javascript" defer></script>
<link rel="shortcut icon" href="{% static 'images/27146352.png' %}"> <link rel="shortcut icon" href="{% static 'frontend/images/27146352.png' %}">
<link href="https://fonts.googleapis.com/css2?family=Poppins&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Poppins&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Lora:wght@500&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Lora:wght@500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Open+Sans+Condensed:wght@300&family=Quicksand:wght@300&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Open+Sans+Condensed:wght@300&family=Quicksand:wght@300&display=swap" rel="stylesheet">
@ -26,8 +26,8 @@
<!--Import Google Icon Font--> <!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css--> <!--Import materialize.css-->
<link type="text/css" rel="stylesheet" href="{% static 'css/materialize.min.css' %}" media="screen,projection"/> <link type="text/css" rel="stylesheet" href="{% static 'frontend/css/materialize.min.css' %}" media="screen,projection"/>
<script src="{% static 'js/materializecss/materialize.min.js' %}"></script> <script src="{% static 'frontend/js/materializecss/materialize.min.js' %}"></script>
<title>Wulkanowy | Aplikacja ucznia i rodzica</title> <title>Wulkanowy | Aplikacja ucznia i rodzica</title>
</head> </head>
<body> <body>
@ -40,9 +40,9 @@
<ul id="slide-out" class="sidenav"> <ul id="slide-out" class="sidenav">
<li><div class="user-view"> <li><div class="user-view">
<div class="background"> <div class="background">
<img src="{% static 'images/wallpaper.jpg' %}" width="300" height="176"> <img src="{% static 'frontend/images/wallpaper.jpg' %}" width="300" height="176">
</div> </div>
<a><img class="circle" src="{% static 'images/27146352.png' %}"></a> <a><img class="circle" src="{% static 'frontend/images/27146352.png' %}"></a>
<a><span class="white-text name" id='name'>Imie Imie2 Nazwisko</span></a> <a><span class="white-text name" id='name'>Imie Imie2 Nazwisko</span></a>
<a><span class="white-text email" id='email'>E-mail</span></a> <a><span class="white-text email" id='email'>E-mail</span></a>
</div></li> </div></li>

View file

@ -6,8 +6,8 @@
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="{% static 'css/style.css' %}"> <link rel="stylesheet" href="{% static 'frontend/css/style.css' %}">
<link rel="shortcut icon" href="{% static 'images/27146352.png' %}"> <link rel="shortcut icon" href="{% static 'frontend/images/27146352.png' %}">
<link href="https://fonts.googleapis.com/css2?family=Lora:wght@500&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Lora:wght@500&display=swap" rel="stylesheet">
<link rel="preconnect" href="https://fonts.gstatic.com"> <link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap" rel="stylesheet">
@ -16,15 +16,15 @@
<!--Import Google Icon Font--> <!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css--> <!--Import materialize.css-->
<link type="text/css" rel="stylesheet" href="{% static 'css/materialize.min.css' %}" media="screen,projection"/> <link type="text/css" rel="stylesheet" href="{% static 'frontend/css/materialize.min.css' %}" media="screen,projection"/>
<script src="{% static 'js/materializecss/materialize.min.js' %}"></script> <script src="{% static 'frontend/js/materializecss/materialize.min.js' %}"></script>
<title>Wulkanowy | Aplikacja ucznia i rodzica</title> <title>Wulkanowy | Aplikacja ucznia i rodzica</title>
</head> </head>
<body> <body>
<div data-v-cd2b8d62 data-v-09be56d6 id="container"> <div data-v-cd2b8d62 data-v-09be56d6 id="container">
<div id="row"> <div id="row">
<h1 data-v-cd2b8d62="" class="logo"> <h1 data-v-cd2b8d62="" class="logo">
<img data-v-cd2b8d62 src="{% static 'images/wulkanowy-full-flat.4ff8222a.svg' %}" alt="Wulkanowy"> <img data-v-cd2b8d62 src="{% static 'frontend/images/wulkanowy-full-flat.4ff8222a.svg' %}" alt="Wulkanowy">
</h1> </h1>
<form action="javascript:void(0);" class="box col s12" id="form">{% csrf_token %} <form action="javascript:void(0);" class="box col s12" id="form">{% csrf_token %}
<div class="card white darken-1"> <div class="card white darken-1">
@ -60,16 +60,16 @@
</div> </div>
<div id="icons"> <div id="icons">
<a href="mailto:wulkanowyinc@gmail.com" style="text-decoration: none;"> <a href="mailto:wulkanowyinc@gmail.com" style="text-decoration: none;">
<img src="{% static 'images/email.ce588d18.svg' %}" class="icon" style="width: 55px;" alt="E-mail"> <img src="{% static 'frontend/images/email.ce588d18.svg' %}" class="icon" style="width: 55px;" alt="E-mail">
</a> </a>
<a href="https://discord.com/invite/vccAQBr" style="text-decoration: none;"> <a href="https://discord.com/invite/vccAQBr" style="text-decoration: none;">
<img src="{% static 'images/discord.e9241a54.svg' %}" class="icon" alt="Discord"> <img src="{% static 'frontend/images/discord.e9241a54.svg' %}" class="icon" alt="Discord">
</a> </a>
<a href="https://github.com/wulkanowy/" style="text-decoration: none;"> <a href="https://github.com/wulkanowy/" style="text-decoration: none;">
<img src="{% static 'images/github.9c30fa5a.svg' %}" class="icon" style="width: 55px;" alt="Github"> <img src="{% static 'frontend/images/github.9c30fa5a.svg' %}" class="icon" style="width: 55px;" alt="Github">
</a> </a>
<a href="https://www.paypal.com/paypalme/wulkanowy" style="text-decoration: none;"> <a href="https://www.paypal.com/paypalme/wulkanowy" style="text-decoration: none;">
<img src="{% static 'images/paypal.9fd1b9bc.svg' %}" class="icon" alt="Paypal"> <img src="{% static 'frontend/images/paypal.9fd1b9bc.svg' %}" class="icon" alt="Paypal">
</a> </a>
<a href="https://www.paypal.com/paypalme/wulkanowy" style="text-decoration: none;"> <a href="https://www.paypal.com/paypalme/wulkanowy" style="text-decoration: none;">
<img data-v-cec09316="" class='icon' src="data:image/png;base64,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" alt="Facebook"> <img data-v-cec09316="" class='icon' src="data:image/png;base64,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" alt="Facebook">
@ -77,7 +77,7 @@
</div> </div>
</div> </div>
<script type="text/javascript" src="{% static 'js/login.js' %}" defer></script> <script type="text/javascript" src="{% static 'frontend/js/login.js' %}" defer></script>
<script> <script>
var elem = document.querySelector('.tabs'); var elem = document.querySelector('.tabs');
var options = {} var options = {}

3
frontend/tests.py Normal file
View file

@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.

11
frontend/views.py Normal file
View file

@ -0,0 +1,11 @@
from django.shortcuts import render
from django.shortcuts import redirect
def default_view(request, *args, **kwargs):
return render(request, 'frontend/index.html')
def content_view(request, *args, **kwargs):
if request.session.has_key('is_logged'):
return render(request, 'frontend/content.html')
else:
return redirect('../')

View file

@ -0,0 +1,37 @@
const path = require("path");
module.exports = {
entry: {
attedance : "./static/frontend/js/attendance.js",
exams : "./static/frontend/js/exams.js",
grades : "./static/frontend/js/grades.js",
homeworks : "./static/frontend/js/homeworks.js",
login : "./static/frontend/js/login.js",
messages : "./static/frontend/js/messages.js",
mobile_access : "./static/frontend/js/mobile_access.js",
notes : "./static/frontend/js/notes.js",
start : "./static/frontend/js/start.js",
timetable : "./static/frontend/js/timetable.js",
},
output: {
filename: "out-[name].js",
path: path.resolve(__dirname, "./static/frontend/js/dist")
},
watch: false,
mode: "development",
devtool: "source-map",
module: {
rules: [
{
test: /\.m?js$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: "babel-loader",
options: {
presets: ["@babel/preset-env"]
}
}
}
]
}
}

View file

@ -1,3 +1,3 @@
start npm run dev start npm run dev
cls cls
python manage.py runserver python manage.py runserver

View file

@ -1,6 +1,6 @@
from django.test import SimpleTestCase from django.test import SimpleTestCase
from django.urls import reverse, resolve from django.urls import reverse, resolve
from app.views import default_view, content_view from frontend.views import default_view, content_view
from app.views import login, grades, timetable, exams, homeworks, attendance, notes from app.views import login, grades, timetable, exams, homeworks, attendance, notes
class TestUrls(SimpleTestCase): class TestUrls(SimpleTestCase):

View file

@ -13,7 +13,7 @@ class TestViews(TestCase):
response = self.client.get(self.list_url) response = self.client.get(self.list_url)
self.assertEquals(response.status_code, 200) self.assertEquals(response.status_code, 200)
self.assertTemplateUsed(response, 'index.html') self.assertTemplateUsed(response, 'frontend/index.html')
#CONTENT_VIEW #CONTENT_VIEW
response = self.client.get(self.detail_url) response = self.client.get(self.detail_url)

View file

@ -1,37 +0,0 @@
const path = require("path");
module.exports = {
entry: {
attedance : "./files/js/attendance.js",
exams : "./files/js/exams.js",
grades : "./files/js/grades.js",
homeworks : "./files/js/homeworks.js",
login : "./files/js/login.js",
messages : "./files/js/messages.js",
mobile_access : "./files/js/mobile_access.js",
notes : "./files/js/notes.js",
start : "./files/js/start.js",
timetable : "./files/js/timetable.js",
},
output: {
filename: "out-[name].js",
path: path.resolve(__dirname, "./files/js/dist")
},
watch: false,
mode: "development",
devtool: "source-map",
module: {
rules: [
{
test: /\.m?js$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: "babel-loader",
options: {
presets: ["@babel/preset-env"]
}
}
}
]
}
}

View file

@ -46,6 +46,7 @@ INSTALLED_APPS = [
# My Apps # My Apps
'app', 'app',
'frontend'
] ]
MIDDLEWARE = [ MIDDLEWARE = [
@ -68,7 +69,6 @@ ROOT_URLCONF = 'wulkanowy.urls'
TEMPLATES = [ TEMPLATES = [
{ {
'BACKEND': 'django.template.backends.django.DjangoTemplates', 'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['templates'],
'APP_DIRS': True, 'APP_DIRS': True,
'OPTIONS': { 'OPTIONS': {
'context_processors': [ 'context_processors': [

View file

@ -16,7 +16,7 @@ Including another URLconf
from django.urls import path from django.urls import path
from django.contrib.staticfiles.urls import staticfiles_urlpatterns from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from app.views import default_view, content_view from frontend.views import default_view, content_view
from app.views import login, grades, timetable, exams, homeworks, attendance, notes, registered_devices, register_device_, received_messages, sent_messages, deleted_messages, school_data, dashboard, recipients, send, message_content from app.views import login, grades, timetable, exams, homeworks, attendance, notes, registered_devices, register_device_, received_messages, sent_messages, deleted_messages, school_data, dashboard, recipients, send, message_content
urlpatterns = [ urlpatterns = [