Du lager en model i Django. I denne modellen har du et felt av typen Textfield hvor bruker skal legge inn tekst. Brukeren har i utgangspunktet ingen muligheter til å formatere denne teksten. Det finnes muligheter i Django silk at feltet blir mer som en tekstbehandler med knapper for bold tekst etc etc.
Men det finnes også en variant med noe som heter Markdownify som er det jeg bruker her nå og som gjør at ordet Markdownify ser akkurat sånn ut (fet og kursiv). Markdownify er veldig lettkjørt og krever veldig lite ressurser.
Her er hvordan du kommer i gang og hvordan det brukes. Det er garantert flere muligheter enn det som jeg viser her. Men det er slik jeg bruker det.
Jeg bruker Linux, og det burde du gjøre også ;). Alle kommandoer som vises kjøres i en Linux terminal.
Kjør dette i ditt enviroment for å installere:
pip install markdownify
i settings.py må du legge til:
INSTALLED_APPS = [
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
# Third-party apps:
"django_htmx",
# Local apps:
"accounts",
"core",
"notes",
"markdownify.apps.MarkdownifyConfig", # <--- Denne linjen må legges til
]
# Settingene under her må også inn i settings.py
MARKDOWNIFY = {
"default": {
"BLEACH": True,
"LINKIFY_TEXT": {"callbacks": []},
"WHITELIST_TAGS": [
"a",
"p",
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"ul",
"ol",
"li",
"b",
"i",
"strong",
"em",
"br",
"pre",
"code",
"hr",
],
},
}
Du har sikkert skjønt poenget nå. De HTML-taggene på listen kan benyttes i teksten. Slik at når jeg skriver inn <strong>test fete bokstaver</strong> så vises dette med fete bokstaver slik test fete bokstaver på nettsiden.