Code Monkey home page Code Monkey logo

e-diary's Introduction

Электронный дневник школы

Этот сайт - интерфейс для учеников школы. Здесь можно посмотреть оценки, расписание и прочую открытую информацию. Учителя заполняют базу данных через другой сайт. Ставят там оценки и т.д.

Описание моделей

На сайте есть ученики: Schoolkid. Класс ученика определяется через комбинацию его полей year_of_study — год обучения и group_letter — литера класса. Вместе получается, например, 10А. Ученик связан со следующими моделями:

  • Mark — оценка на уроке, от 2 до 5.
  • Commendation — похвала от учителя, за особые достижения.
  • Chastisement — замечание от учителя, за особые проступки.

Все 3 объекта связаны не только с учителем, который их создал, но и с учебным предметом (Subject). Примеры Subject:

  • Математика 8 класса
  • Геометрия 11 класса
  • Русский язык 1 класса
  • Русский язык 4 класса

Subject определяется не только названием, но и годом обучения, для которого учебный предмет проходит.

За расписание уроков отвечает модель Lesson. Каждый объект Lesson — урок в расписании. У урока есть комбинация year_of_study и group_letter, благодаря ей можно узнать для какого класса проходит этот урок. У урока есть subject и teacher, которые отвечают на вопросы "что за урок" и "кто ведёт". У урока есть room — номер кабинета, где он проходит. Урок проходит в дату date.

Расписание в школе строится по слотам:

  • 8:00-8:40 — 1 урок
  • 8:50-9:30 — 2 урок
  • ...

У каждого Lesson есть поле timeslot, которое объясняет, какой номер у этого урока в расписании.

Запуск

  • Скачайте код
  • Установите зависимости командой pip install -r requirements.txt
  • Создайте БД командой python3 manage.py migrate
  • Запустите сервер командой python3 manage.py runserver

Переменные окружения

Часть настроек проекта берётся из переменных окружения. Чтобы их определить, создайте файл .env рядом с manage.py и запишите туда данные в таком формате: ПЕРЕМЕННАЯ=значение.

Доступны 3 переменные:

  • DEBUG — дебаг-режим. Поставьте True, чтобы увидеть отладочную информацию в случае ошибки.
  • SECRET_KEY — секретный ключ проекта
  • ALLOWED_HOSTS — см документацию Django.
  • DATABASE_NAME — путь до базы данных, например: schoolbase.sqlite3

Цели проекта

Код написан в учебных целях — это урок в курсе по Python и веб-разработке на сайте Devman.

e-diary's People

Contributors

conformist-mw avatar dependabot[bot] avatar dvmn-tasks avatar pelid avatar voron434 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.