Clean images and case insensitive nav.
This commit is contained in:
parent
6464703381
commit
288759146c
7 changed files with 59 additions and 4 deletions
18
wedding_site/primary/migrations/0010_page_prority.py
Normal file
18
wedding_site/primary/migrations/0010_page_prority.py
Normal file
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 5.0.2 on 2024-02-18 09:58
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('primary', '0009_page_pretty_name'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='page',
|
||||
name='prority',
|
||||
field=models.IntegerField(default=0),
|
||||
),
|
||||
]
|
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 5.0.2 on 2024-02-18 10:02
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('primary', '0010_page_prority'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameField(
|
||||
model_name='page',
|
||||
old_name='prority',
|
||||
new_name='priority',
|
||||
),
|
||||
]
|
|
@ -18,6 +18,7 @@ class Page(models.Model):
|
|||
pretty_name = models.CharField(max_length=200, default="")
|
||||
published = models.BooleanField(default=False)
|
||||
navigable = models.BooleanField(default=False)
|
||||
priority = models.IntegerField(default=0)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
|
|
@ -33,10 +33,9 @@ body {
|
|||
|
||||
img {
|
||||
margin:0 auto;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
max-height:300px;
|
||||
max-width:800px;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 4px 8px 0;
|
||||
}
|
||||
|
@ -107,6 +106,10 @@ ul {
|
|||
list-style-position: inside;
|
||||
}
|
||||
|
||||
ul li {
|
||||
padding: 5px 0px;
|
||||
}
|
||||
|
||||
.login-input{
|
||||
margin-top: 30px;
|
||||
text-align: center;
|
||||
|
|
|
@ -6,6 +6,8 @@ from django.template import Context
|
|||
from django.contrib.auth import authenticate, login
|
||||
from django.contrib.auth.decorators import login_required
|
||||
|
||||
from django.views.defaults import page_not_found
|
||||
|
||||
import markdown
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
|
@ -24,6 +26,17 @@ _TEMPLATE = """
|
|||
</html>
|
||||
"""
|
||||
|
||||
def handler404(request, exception, template_name="404.html"):
|
||||
page_names = ["home", "schedule", "thingstodo"]
|
||||
working_path = request.path.lower()
|
||||
if working_path and working_path[0] == "/":
|
||||
working_path = working_path[1:]
|
||||
if working_path and working_path[-1] == "/":
|
||||
working_path = working_path[:-1]
|
||||
if working_path in page_names:
|
||||
return redirect(working_path)
|
||||
return page_not_found(request, exception, template_name)
|
||||
|
||||
def get_site_header(site):
|
||||
template = Template(site.header)
|
||||
context = Context({"site": site})
|
||||
|
@ -60,7 +73,7 @@ def home(request):
|
|||
|
||||
def get_page_header(site: Site):
|
||||
|
||||
pages = site.page_set.filter(navigable=True)
|
||||
pages = site.page_set.order_by("priority").filter(navigable=True)
|
||||
template = Template(site.page_header)
|
||||
context = Context({"pages" : pages})
|
||||
return template.render(context)
|
||||
|
|
|
@ -25,7 +25,7 @@ SECRET_KEY = 'django-insecure-bj9fez3qztt5e2lrzpgh%%nat@w^kn!k@l92l=+#%wm)4)p^5m
|
|||
# SECURITY WARNING: don't run with debug turned on in production!
|
||||
DEBUG = True
|
||||
|
||||
ALLOWED_HOSTS = []
|
||||
ALLOWED_HOSTS = ["localhost"]
|
||||
|
||||
|
||||
# Application definition
|
||||
|
|
|
@ -23,3 +23,5 @@ urlpatterns = [
|
|||
path("", include('primary.urls')),
|
||||
path('admin/', admin.site.urls),
|
||||
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||
|
||||
handler404 = 'primary.views.handler404'
|
||||
|
|
Loading…
Reference in a new issue