Giter Club home page Giter Club logo

djangouni's Introduction

Django testa vietne

Django testa vietne, par bāzi ņemta studentu apmācības sistēma.

Iespējas

Web - galvenais projekts, visas adreses
atzimes - Atzīmju modulis. Labošana, dzēšana, pielikšana
kursi - Kursu modulis. Labošana, dzēšana, pielikšana
studenti - Studentu modulis. Labošana, dzēšana, pielikšana
    Ja studentam ieliek 0,kas tulkojas kā N, tad status mainās uz "Parāds"

Adreses:

/studenti/ - Tabula ar visiem priekšmetiem un studentiem
/studenti/labot/<StudentaKods> - Studenta labošanas forma
/studenti/labot/ - Studenta pielikšanas forma
/kursi/labot/<KursaKods> Kursa labošanas forma
/kursi/labot/ Kursa pielikšanas forma
/api_tests_universitates - Api tests uz universitāšu sarakstu
/darbinieki/ - Visi sistēmas darbinieki
/darbinieki/<DarbiniekaId>/labot - Labot darbinieku
/darbinieki/jauns - Jauns darbinieks
/api/universitates/meklet/valsts/<valsts> - Apis, kurš meklē HyppoLabs sarakstā visas pieejamās universitātes pēc dotās valsts

Pamatā bija lietots MySQL, var uz citas bāzes likt.

Tabulas:

students
    id (int 11)
    student_no (varchar 20)
    surname (varchar 20)
    forename (varchar 20)
    aktivs (int 1)
modules
    id (int 11)
    module_code varchar(8)
    module_name varchar(50)
    var_atzimes tinyint(1)
    aktivs tinyint(1)
marks
    id int(11)
    student_no varchar(10)
    module_code	varchar(8)	
    mark int(11)
    last_update timestamp	ON UPDATE CURRENT_TIMESTAMP()	
darbinieki_user
    id
    password    varchar(128)
    last_login datetime
    username varchar(255)
    is_active bool
    staff bool
    admin bool
    uzvards varchar(255)
    vards varchar(255)

Info

Katrs modulis ir atdalīts atsevišķi. Studenti,kursi, atzīmes. Tā kā ir ņemta jau gatava DB,tad kursi tiek angliski saukti par modules.
Failos Models glabājas DB lauki. Forms.py glabājas gatavās formas, jo Django ļauj automātiski veidot formas, nav jāveidot lauciņi.
Formām par pamatu tiek doti Models.py lauki.
Settingu failu nav, taisiet paši, bet būtībā settingu failā ir veiktas izmaiņas tikai ar DB.

Ir pielikts arī slavenais Universitāšu API piemēram.
Viss pamats ir ielikts iekšā web projektā.

Darbiniekiem divas piekļuves staff un admin.
    staff - var visu izņemot pārvaldīt darbiniekus
    admin - var visu

Katram skatam klāt ir divi palīgi:
    @login_required(login_url='/autorizacija/') - Šis pasaka, ka vajag autorizēties, ja nē redirektē uz /autorizacija/ - adrese web.urls, kur autorizējas.
    @user_passes_test(lambda u: u.is_staff,login_url='/nav-piekluves/') - pārbauda vai lietotājs ir staff.

Svarīgi par stiliem

Lai palaistu static mapi ar stiliem utt. https://www.digitalocean.com/community/tutorials/working-with-django-templates-static-files

Templates

Galvenais fails - main.html (Iekšā ir viss rāmis, kurā viss tiek ielikts.)
    Pages - lapas, tur ir atsevišķās lapas
    homepage.html - sākumlapa

Bildes

Viss kopā

Viss kopā

Jauns students

Jauns students

Jauns Kurss

Jauns Kurss

Atzīmju ievade

Jauns students

Kā to visu palaist

  1. Atveram mapi,kur viss glabāsies, Django ir daudz failu..
  2. python -m pip install Django Instalējam Django
  3. django-admin startproject web Izveidojam jauun projektu, sauktu par Web.
  4. Web mapes saturu aizvietojam ar šo projektu. Ja jūtas advancēts, drīkst arī izmantot git komandas.
  5. Konsolē python manage.py createsuperuser

Login sistēma

Par login sistēmas pamatu ņemts: https://www.codingforentrepreneurs.com/blog/how-to-create-a-custom-django-user-model/

Lai uztaisītu jaunu superlietotāju - python manage.py createsuperuser

API

Adrese ir /api/ Lai darbotos vajag izmantot data: { csrfmiddlewaretoken: "{{ csrf_token }}", }, CSRF tokens, kuru izmanto uz POST metodēm, pats Django pārbauda, ja neder atbild ar 403.

Ja laiž uz servera ar Apache

Apachei vajag moduli - libapache2-mod-wsgi-py3, to instalē sudo apt-get install libapache2-mod-wsgi-py3 Tad labojam failu, kurā dzīvo weba konfigurācija jeb /etc/apache2/sites-available/000-default.conf Tur jāpieliek šādas rindas:

WSGIScriptAlias / /var/www/web/web/wsgi.py # Mūsu servera faila pamata moduļa atrašanās vieta sk. šo pašu projektu.

Sakām, ka mūsu galvenais modulis ir tas,kurš darbina wsgi.py failus, ļaujam izmantot failus <Directory /var/www/web/web> <Files wsgi.py> Order deny,allow Allow from all </Files> </Directory>

Pieliekam klāt stila failu mapi, lai saucot adresi /static/ tiktu izsaukta mūsu iekšēja stilu mape.

Alias /static/ "/var/www/web/static/" <Directory "/var/www/web/static"> Require all granted </Directory>

Svarīgi:

Datubāzes failam jānorāda pilns ceļš, ja lieto sqllite, to šajā gadījumā nosaka automātiski. Views.py izkomentējam ārā rindu #from asyncio.windows_events import NULL tā raisa problēmu, ja darbojas ar linux vidi.

Testēts šādās vidēs

Windows 11 DigitalOcean [1] 1 GB Memory 25 GB Disk Debian 11 x64 DigitalOcean [2] 512 MB Memory 10 GB Disk Debian 11 x64

djangouni's People

Contributors

krmu avatar

Watchers

 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.