Anki

Aus ahrensburg.city
Zur Navigation springen Zur Suche springen

Anki

Anki isr eine Software, die das Lernen von Karteikarten ermöglicht. Anki ist in Python geschrieben und verwendet SQLite als Datenbank. Anki ist für Windows, MacOS und Linux verfügbar. Anki ist auch als App für Android und iOS verfügbar.

Installation und Starten

Django

Grundaufbau einer Django Anwendung und Installieren von Django

python -m venv .venv
source .venv/bin/activate
pip install django
django-admin startproject Projekt

Django App erstellen

Erstellen einer Django App innerhalb eines Django Projekts namens App
{{c1::python manage.py startapp App}}


views.py

Funktion namens home erstellen und das Template home.html ohne Parameter in der Datei views.py in Django verwenden.
{{c1::def home(request):}}
    {{c1::return render(request,'home.html')}}


Django Model erstellen

Erstellen eines Models in Django mit dem Namen Artikel. Attribut titel
{{c1::class Artikel(models.Model):}}
    {{c1::titel = models.CharField()}}
{{c1::def __str__(self):}}
    {{c1::return self.titel}}

Django admin Register

Registrieren des Models Artikel in der Datei admin.py in Django
{{c1::from .models import Artikel}}
{{c1::admin.site.register(Artikel)}}

Django:Templates-Tags

Definiert einen Block Inhalt, der in anderen Templates überschrieben werden kann.
{{c1::{% block content %} }}
    Inhalt des Blocks
{{c1::{% endblock %} }}

Django Migration

Django: Erstmalige Erstellung der Datenbank ausführen.
{{c1::python manage.py migrate}}

Django: Superuser erstellen

Erstellen eines Super Benutzer in Django
{{c1::python manage.py createsuperuser}}

Django: Model in der Datenbank registrieren

Registrieren des Models in der Datenbank in Django
{{c1::python manage.py makemigrations}}
{{c1::python manage.py migrate}}

Vorhandene Datenbank in Django registrieren

Registrieren einer vorhandenen Datenbank in Django Tabellename
{{c1::python manage.py inspectdb Tabellename> models.py}}

Django: URL Registrieren

Registrieren einer URL in Django namens home, die auf die Funktion home verweist.
Datei name {{c1::urls.py}}
{{c1::from django.urls import path}}
{{c1::from . import views}}
{{c1::urlpatterns = [}}
    {{c1::path('', views.home, name='home')}}
{{c1::]}}

Django alles anzeigen views

Alle Artikel in der Datenbank anzeigen in Django in views.py auf Template home.html und Funktion home
{{c1::from .models import Artikel}}
{{c1::def home(request):}}
    {{c1::artikel = Artikel.objects.all()}}
    {{c1::return render(request, 'home.html', {'artikel': artikel})}

Django: Template erstellen

Erstellen eines Templates in Django mit dem Namen home.html und Anzeigen der Artikel in einer Liste mit titeln.
{{c1::{% block content %} }}
       <ul>
           {{c1:: {% for a in artikel %} }}
               {{c1:: <li>{{ a.titel }}</li>}}
            {{c1::{% endfor %} }}
        </ul>
        {{c1::{% endfor %} }}
{{c1::{% endblock %} }}

Django urls.py


Registrieren einer URL in Django mit einem Parameter namens blog_title, der auf die Funktion detail verweist.

{{c1::from django.urls import path}}
{{c1::from . import views}}
{{c1::urlpatterns = [}}
    {{c1::path('<str:blog_title>/', views.detail, name='detail'),}}
{{c1:: ]}}

Views

Erstellen einer Funktion namens detail in der Datei views.py in Django, die einen Parameter blog_title akzeptiert und das Template detail.html verwendet. models Blog importieren.

{{c1::from django.shortcuts import render, get_object_or_404}}
{{c1::from .models import Blog}}

{{c1::def detail(request, blog_title):}}
{{c1::blog = get_object_or_404(Blog, titel=blog_title)}}
{{c1::return render(request, 'detail.html', {'blog': blog})}}

Django: Template erstellen

Erstellt eine Vorlage in Django mit dem Namen detail.html, die von index.html erbt.
{{c1::{% extends 'index.html' %} }}

Erstellt einen URL-Link in einer Django-Vorlage mit dem Namen Detail.html.
{{c1::<a href="{% url 'Detail' %}">Detail</a>}}

Statisch Datei aurufen

Statische Dateien in Django im Template aufrufen, z.B. css/style.css.
{{c1::{% load static}}
<link rel="stylesheet" type="text/css" href="{{c1::{% static 'css/style.css' %} }}">

Django settings.py

settings.py in Django konfigurieren, um statische Dateien zu laden.
{{c1::STATIC_URL = '/static/'}}
{{c1::STATICFILES_DIRS = [BASE_DIR / 'static']}}