base menu, about page, atom feed

This commit is contained in:
j 2023-07-25 20:03:54 +01:00
commit 0b64fd58a1
21 changed files with 284 additions and 47 deletions

0
app/page/__init__.py Normal file
View file

7
app/page/admin.py Normal file
View file

@ -0,0 +1,7 @@
from django.contrib import admin
from . import models
@admin.decorators.register(models.Page)
class PageAdmin(admin.ModelAdmin):
list_display = ('slug', 'title', 'created', 'modified')
search_fields = ['title', 'slug']

6
app/page/apps.py Normal file
View file

@ -0,0 +1,6 @@
from django.apps import AppConfig
class PageConfig(AppConfig):
default_auto_field = "django.db.models.BigAutoField"
name = "app.page"

View file

@ -0,0 +1,34 @@
# Generated by Django 4.2.3 on 2023-07-25 18:51
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = []
operations = [
migrations.CreateModel(
name="Page",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("created", models.DateTimeField(auto_now_add=True)),
("modified", models.DateTimeField(auto_now=True)),
(
"slug",
models.CharField(max_length=255, unique=True, verbose_name="Slug"),
),
("title", models.CharField(max_length=1024)),
("content", models.TextField(blank=True, default="")),
],
),
]

View file

16
app/page/models.py Normal file
View file

@ -0,0 +1,16 @@
from django.db import models
class Page(models.Model):
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
slug = models.CharField('Slug', max_length=255, unique=True)
title = models.CharField(max_length=1024)
content = models.TextField(default='', blank=True)
def __str__(self):
return self.slug
def get_absolute_url(self):
return '/%s' % self.slug

3
app/page/tests.py Normal file
View file

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

13
app/page/views.py Normal file
View file

@ -0,0 +1,13 @@
from django.conf import settings
from django.shortcuts import render, redirect, get_object_or_404
from . import models
def page(request, slug):
page = get_object_or_404(models.Page, slug=slug)
context = {
'settings': settings,
'page': page,
}
return render(request, 'page.html', context)