Add header
This commit is contained in:
parent
b97fed5340
commit
0874255859
28
innovedus_cms/base/migrations/0005_headersettring.py
Normal file
28
innovedus_cms/base/migrations/0005_headersettring.py
Normal file
@ -0,0 +1,28 @@
|
||||
# Generated by Django 5.2.7 on 2025-10-16 04:59
|
||||
|
||||
import django.db.models.deletion
|
||||
import wagtail.fields
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('base', '0004_alter_navigationsettings_options_and_more'),
|
||||
('wagtailimages', '0027_image_description'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='HeaderSettring',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('site_name', models.CharField(blank=True, max_length=255)),
|
||||
('extra_links', wagtail.fields.StreamField([('link', 2)], blank=True, block_lookup={0: ('wagtail.blocks.CharBlock', (), {}), 1: ('wagtail.blocks.URLBlock', (), {}), 2: ('wagtail.blocks.StructBlock', [[('label', 0), ('url', 1)]], {})}, null=True)),
|
||||
('logo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.image')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Header Settings',
|
||||
},
|
||||
),
|
||||
]
|
||||
@ -0,0 +1,18 @@
|
||||
# Generated by Django 5.2.7 on 2025-10-16 05:11
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('base', '0005_headersettring'),
|
||||
('wagtailimages', '0027_image_description'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameModel(
|
||||
old_name='HeaderSettring',
|
||||
new_name='HeaderSettrings',
|
||||
),
|
||||
]
|
||||
@ -0,0 +1,18 @@
|
||||
# Generated by Django 5.2.7 on 2025-10-16 05:12
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('base', '0006_rename_headersettring_headersettrings'),
|
||||
('wagtailimages', '0027_image_description'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameModel(
|
||||
old_name='HeaderSettrings',
|
||||
new_name='HeaderSettings',
|
||||
),
|
||||
]
|
||||
@ -27,6 +27,37 @@ from wagtail.snippets.models import register_snippet
|
||||
from wagtail.fields import StreamField
|
||||
from wagtail import blocks
|
||||
|
||||
@register_setting
|
||||
class HeaderSettings(BaseGenericSetting):
|
||||
logo = models.ForeignKey(
|
||||
"wagtailimages.Image",
|
||||
null=True,
|
||||
blank=True,
|
||||
on_delete=models.SET_NULL,
|
||||
related_name="+",
|
||||
)
|
||||
site_name = models.CharField(max_length=255, blank=True)
|
||||
extra_links = StreamField([
|
||||
("link", blocks.StructBlock([
|
||||
("label", blocks.CharBlock()),
|
||||
("url", blocks.URLBlock())
|
||||
]))
|
||||
], use_json_field=True, blank=True, null=True)
|
||||
|
||||
panels = [
|
||||
MultiFieldPanel(
|
||||
[
|
||||
FieldPanel("logo"),
|
||||
FieldPanel("site_name"),
|
||||
FieldPanel("extra_links"),
|
||||
],
|
||||
heading="Header Settings",
|
||||
),
|
||||
]
|
||||
|
||||
class Meta:
|
||||
verbose_name = "Header Settings"
|
||||
|
||||
@register_setting
|
||||
class NavigationSettings(BaseGenericSetting):
|
||||
footer_links = StreamField([
|
||||
|
||||
@ -3,10 +3,10 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
# from dotenv import load_dotenv
|
||||
from dotenv import load_dotenv
|
||||
|
||||
# env_file = os.environ.get("ENV_FILE", "../.env")
|
||||
# load_dotenv(env_file)
|
||||
env_file = os.environ.get("ENV_FILE", "../.env")
|
||||
load_dotenv(env_file)
|
||||
|
||||
def main():
|
||||
"""Run administrative tasks."""
|
||||
|
||||
BIN
innovedus_cms/media/images/DeButAI.2e16d0ba.fill-200x60.jpg
Normal file
BIN
innovedus_cms/media/images/DeButAI.2e16d0ba.fill-200x60.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
BIN
innovedus_cms/media/images/DeButAI.2e16d0ba.fill-60x60.jpg
Normal file
BIN
innovedus_cms/media/images/DeButAI.2e16d0ba.fill-60x60.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
BIN
innovedus_cms/media/images/DeButAI.max-165x165.jpg
Normal file
BIN
innovedus_cms/media/images/DeButAI.max-165x165.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.7 KiB |
BIN
innovedus_cms/media/original_images/DeButAI.jpg
Normal file
BIN
innovedus_cms/media/original_images/DeButAI.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 90 KiB |
@ -34,6 +34,8 @@
|
||||
<body class="{% block body_class %}{% endblock %}">
|
||||
{% wagtailuserbar %}
|
||||
|
||||
{% include "includes/header.html" %}
|
||||
|
||||
{% block content %}{% endblock %}
|
||||
|
||||
{% include "includes/footer.html" %}
|
||||
|
||||
30
innovedus_cms/mysite/templates/includes/header.html
Normal file
30
innovedus_cms/mysite/templates/includes/header.html
Normal file
@ -0,0 +1,30 @@
|
||||
{% load wagtailsettings_tags wagtailimages_tags %}
|
||||
{% get_settings use_default_site=True as settings %}
|
||||
|
||||
<header class="site-header">
|
||||
<div class="header-inner">
|
||||
{% if settings.base.HeaderSettings.logo %}
|
||||
<a href="/" class="logo">
|
||||
{% image settings.base.HeaderSettings.logo fill-60x60 %}
|
||||
{% if settings.base.HeaderSettings.site_name %}
|
||||
<span class="site-name">{{ settings.base.HeaderSettings.site_name }}</span>
|
||||
{% endif %}
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
<nav class="main-nav">
|
||||
<ul>
|
||||
{%with page.get_site.root_page as root %}
|
||||
{% for page in root.get_descendants.live.in_menu %}
|
||||
<li><a href="{{ page.url }}">{{ page.title }}</a></li>
|
||||
{% endfor %}
|
||||
{% endwith %}
|
||||
{% if settings.base.HeaderSettings.main_links %}
|
||||
{% for item in settings.base.HeaderSettings.main_links %}
|
||||
<li><a href="{{ item.value.url }}">{{ item.value.label }}</a></li>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
Loading…
x
Reference in New Issue
Block a user