Lookaway CMS HTML Templates

Documented by Kyle Bruder on Apr 05, 2021
Last updated on Jun 05, 2021


logo

Introduction

Lookaway CMS core apps and the example apps follow very similar design patterns in order to adhere to DRY coding standards. Each app has slightly different views and templates. These are the patterns that were established and followed during development. There is no requirement to follow these patterns exactly. Customization will be necessary in most cases to fit your needs. This is simply a guide to save time and foster rapid development.


Read First

These templates correspond to and depend on the Lookaway AppProfile design views, forms, models, and mixins outlined in the documentation. Be sure refer to them if you run into errors while using these templates.

App Profile Design Patterns - Lookaway CMS

Lookaway CMS comes with mixins, models, forms, and views that can be used when writing new Django apps.


Base Template

base1

templates/base.html
<!DOCTYPE html>
{% load static %}
<html lang="en">
<head>
  <meta charset="utf-8">
  {% if object.title %}
    <title>{{ object.title }}</title>
  {% elif meta_title %}
    <title>{{ meta_title }}</title>
  {% else %}
    <title>Lookaway Information</title>
  {% endif %}
  {% if object.meta_description %}
    <meta name="description" content="{{ object.meta_description }}">
  {% elif meta_desc %}
    <meta name="description" content="{{ meta_desc }}">
  {% endif %}
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="shortcut icon" type="image/webp" href="{% static 'favicon.ico' %}"/>
  {% include 'base_fonts.html' %}
  {% include 'base_css.html' %}
</head>

<body class="base-bg base-body" style="color: #ffffff; background-color: #222222;">
  {% include 'base_js.html' %}
  {% include 'base_navbar.html' %}
  {% if messages %}
    {% for message in messages %}
      <div class="alert {{ message.tags }} alert-dismissable" style="margin-bottom: 0px;" role="alert">
        <button type="button" class="close" data-dismiss="alert" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
        {{ message }}
      </div>
    {% endfor %}
  {% endif %}
  {% block body_block %}
    <!-- Anything outside of this will be inhereited if you extend! -->
  {% endblock %}
  <!-- FOOTER -->
  {% include 'base_footer.html' %}
</body>
</html>

Source: kbruder Tech


Form Template

form

templates/form.html
{% extends 'base.html' %}
{% block body_block %}
<div class="container-fluid create-bg" style="{% if profile.bg_image %} background-image: url('{{ profile.bg_image.image_file.url }}');{% endif %}">
  {% block header_block %}
    <!-- Anything outside of this will be inhereited if you extend! -->
  {% endblock %}
  <br>
  <div class="container-fluid">
  <form method="post" enctype="multipart/form-data">
    <div class="row">
      {% csrf_token %}
      {% if form.image %}
        {% with form.image as x %}
          {% include 'image_form_field.html' %}
        {% endwith %}
      {% endif %}
      {% if form.logo %}
        {% with form.logo as x %}
          {% include 'logo_form_field.html' %}
        {% endwith %}
      {% endif %}
      {% if form.banner %}
        {% with form.banner as x %}
          {% include 'banner_form_field.html' %}
        {% endwith %}
      {% endif %}
      {% if form.bg_image %}
        {% with form.bg_image as x %}
          {% include 'bg_image_form_field.html' %}
        {% endwith %}
      {% endif %}
      {% if form.images %}
        {% with form.images as x %}
          {% include 'images_form_field.html' %}
        {% endwith %}
      {% endif %}
      {% if form.visuals %}
        {% with form.visuals as x %}
            {% include 'visuals_form_field.html' %}
        {% endwith %}
      {% endif %}
      {% for field in form %}
        {% if field != form.image and field != form.images and field != form.logo and field != form.banner and field != form.bg_image and field != form.visuals %}
          {% include 'form_field.html' %}
        {% endif %}
      {% endfor %}
    </div>
    <br>
    <div class="fixed-bottom">
      <input type="submit" value="Submit" class="btn btn-success form-submit-button float-right">
    </div>
  </form>
  </div>
  <br>
</div>
{% endblock %}

Source: kbruder Tech


App Profile Form View Template

form

foo/templates/foo/fooprofile_form.html
{% extends 'form.html' %}
{% block header_block %}
{% include './foo_form_header.html' %}
<br>
{% if sections %}
  <div class="form-field">
    <div class="row">
      <div class="col-sm">
        <h4 class="form-label">Landing Page Sections</h4>
      </div>
      <div class="col-">
        <div class="container">
         <a class="btn btn-sm btn-primary" href="{% url 'foo:foo_page_section_create' %}?next={{ request.path }}">+Section</a> 
        </div>
      </div>
    </div>
    <table class="">
      {% for section in sections %}
        <tr>
          <td>
            <a class="form-label" href="{% url 'foo:foo_page_section_detail' section.pk %}">{{ section }}</a>
          </td>
          <td>
            {% if section.is_enabled %}
              <span class="badge badge-success">Enabled</span>
            {% else %}
              <span class="badge badge-secondary">Disabled</span>
            {% endif %}
          </td>
          <td>
            <a href="{% url 'foo:foo_page_section_update' section.pk %}"><button class="btn btn-sm btn-warning edit-button">&#9998;</button></a>
            <a href="{% url 'foo:foo_page_section_delete' section.pk %}"><button class="btn btn-sm btn-danger delete-button">X</button></a>
          </td>
        </tr>
      {% endfor %}
    </table>  
  </div>
{% else %}
  <div class="container-fluid">
    <a class="btn btn-sm btn-primary" href="{% url 'foo:foo_page_section_create' %}?next={{ request.path }}">+Section</a> 
  </div>
{% endif %}
{% endblock %}

Source: kbruder Tech


App Profile Form Header

foo_form_header

foo/templates/foo/foo_form_header.html
<div class="foo-header" {% if profile.banner %}style="background-image: url('{{ profile.banner.image_file.url }}');"{% endif %}>
  <div class="row">
    {% if profile.logo %}
      <div class="col-sm-">
        <div class="container">
          <img class="foo-logo" src="{{ profile.logo.image_file.url }}" alt="{{ profile.logo.thumbnail_file.title }}">
        </div>
      </div>
    {% endif %}
    {% if profile.show_title or profile.show_desc %}
      <div class="col-sm">
        {% if profile.title and profile.show_title %}
          <h3 class="foo-title foo-page-span foo-alert">{{ meta_title }}</h3>
        {% endif %}
        {% if meta_desc and profile.show_desc %}
          <br><p class="foo-page-span foo-alert"><i>{{ meta_desc }}</i></p>
        {% endif %}
      </div>
    {% endif %}
    {% if request.user.is_authenticated %}
      <div class="col-">
        <div class="container">
          <p>
            {% include 'object_create_buttons.html' %}
          </p>
        </div>
      </div>
    {% endif %}
  </div>
</div>

Source: kbruder Tech


App List View Template

foo_list

posts/templates/posts/posts_list.html
{% extends 'base.html' %}
{% block body_block %}
<div class="container-fluid posts-bg" style="{% if profile.bg_image %} background-image: url('{{ profile.bg_image.image_file.url }}');{% endif %}">
  <div class="posts-header" style="{% if profile.banner %} background-image: url('{{ profile.banner.image_file.url }}');{% endif %}">
    <div class="row">
      {% if profile.logo %}
        <div class="col-sm-">
          <div class="container">
            <a href="{% url 'posts:posts_page' %}">
              <img class="posts-logo" src="{{ profile.logo.thumbnail_file.url }}" alt="{{ profile.logo.title }}">
            </a>
          </div>
        </div>
      {% endif %}
      <div class="col-sm">
        {% if tag %}
          <h3 class="brand-title posts-page-span posts-alert">
             {{ app_list_context }} tagged with <span class="badge badge-secondary">{{ tag }}
          </h3>
        {% elif member %}
          <h3 class="brand-title posts-page-span posts-alert">
             {{ app_list_context }} posted by <span class="index-page-heading">{{ member }}</span>
          </h3>
        {% else %}
          <h3 class="brand-title posts-page-span posts-alert">
            {% if profile.title and app_list_context and profile.show_title %}
              <span class="index-heading-span">{{ profile.title }}</span>
              - <span class="index-heading-span">{{ app_list_context }}</span>
            {% else %}
              {{ app_list_context }}
            {% endif %}
          </h3>
        {% endif %}
        <br>{% include './posts_page_navbar.html' %}
      </div>
      {% if show_create_button and create_button_url %}
        <div class="col-">
          <div class="container">
            <a href="{{ create_button_url }}">
              <button type="button" class="btn btn-sm btn-primary create-button"><strong>+</strong></button>
            </a>
          </div>
        </div>
      {% endif %}
    </div>
  </div>
  {% if object_list %}
    {% if page_obj.has_other_pages %}<span class="posts-page-span posts-nav">{% include 'page_control.html' %}</span>{% endif %}
    <br>
    {% block items_block %}
    {% endblock %}
    {% if page_obj.has_other_pages %}<span class="posts-page-span posts-nav">{% include 'page_control.html' %}</span>{% endif %}
  {% else %}
    <br>
    <div class="container-fluid">
      <span class="posts-page-span posts-alert">No {{ app_list_context|lower }} have been published yet. Check back soon!</span>
    </div>
    <br>
  {% endif %}
  <br>
</div>
{% endblock %}

Source: kbruder Tech


Landing Page View Template

foo_page1

foo/templates/foo/foo_page.html
{% extends 'base.html' %}
{% load static %}
{% block body_block %}
<div class="container-fluid foo-bg" style="{% if profile.bg_image %} background-image: url('{{ profile.bg_image.image_file.url }}');{% endif %}">
  <!-- Heading -->
  {% include './foo_page_header.html' %}
  <br>
  {% if new_foos.count < 1 and new_bars.count <  1 and top_foos.count < 1 and top_bars.count < 1 %}
    <span class="foo-page-span"><i>Coming Soon...</i></p>
  {% else %}
    {% if sections %}
      <div class="row">
        <div class="col-sm">
          {% for section in sections %}
            {% include './foopagesection.html' %}
          {% endfor %}
        </div>
        <div class="col-sm">
          {% include './foo_page_items.html' %}
        </div>
      </div>
    {% else %}
      <!-- List of new and top items -->
      <div class="container-fluid">
        {% include './foo_page_items_without_sections.html' %}
      </div>
      <br>
    {% endif %}
  {% endif %}
</div>
{% endblock %}

Source: kbruder Tech


Landing Page Header

foo/templates/foo/foo_page_header.html
<div class="foo-header" {% if profile.banner %}style="background-image: url('{{ profile.banner.image_file.url }}');"{% endif %}>
  <div class="row">
    {% if profile.logo %}
      <div class="col-sm-">
        <div class="container">
          <img class="foo-logo" src="{{ profile.logo.image_file.url }}" alt="{{ profile.logo.title }}">
        </div>
      </div>
    {% endif %}
    {% if profile.show_title or profile.show_desc %}
      <div class="col-sm">
        {% if profile.title and profile.show_title %}
          <h3 class="brand-title foo-page-span foo-alert">{{ meta_title }}</h3>
        {% endif %}
        {% if meta_desc and profile.show_desc %}
          <br><p class="foo-page-span foo-alert"><i>{{ meta_desc }}</i></p>
        {% endif %}
      </div>
    {% endif %}
    {% if request.user.is_authenticated %}
      <div class="col-">
        <div class="container">
          <p>
            {% if show_create_bar_button %} 
              <a class="btn btn-sm btn-primary" href="{% url 'foo:bar_create' %}">+Bar/a>
            {% endif %}
            {% if show_create_baz_button %} 
              <a class="btn btn-sm btn-primary" href="{% url 'foo:baz_create' %}">+Baz</a>
            {% endif %}
            {% if show_edit_profile_button %} 
              <a href="{% url 'foo:foo_app_profile_update' 1 %}?next={{ request.path }}">
                <button class="btn btn-sm btn-warning">Edit App</button>
              </a>
            {% endif %}
          </p>
        </div>
      </div>
    {% endif %}
  </div>
  {% if profile.text %}
    <p class="foo-page-span foo-alert">{{ profile.text }}</p>
  {% endif %}
  {% include './foo_page_navbar.html' %}
</div>

Source: kbruder Tech


Landing Page Section Form View Template

foopagesection_form

foo/templates/foo/foopagesection_form.html
{% extends 'form.html' %}
{% block header_block %}
{% include './foo_form_header.html' %}
{% endblock %}

Source: kbruder Tech


Landing Page Section

foopagesection

foo/templates/foo/foopagesection.html
<div class="foo-section">
  <!-- Anchor for URI fragments to Offset the Nav Bar-->
  <span id="section-{{ section.pk }}" class="foo-section-anchor"></span>
  <!-- Section Title -->
  {% include './foopagesection_detail_title_bar.html' %}
    <!-- Section Information Message -->
  {% if section.info %}
    <div class="alert alert-primary foo-alert">{{ section.info }}</div><br>
  {% endif %}
  <!-- Section Alert Message -->
  {% if section.alert %}
    <div class="alert alert-danger foo-alert">{{ section.alert }}</div><br>
  {% endif %}
  <!-- Section Images -->
  {% if section.images.count > 0 %}
    {% with section.images.all as images %}
      <!-- Section Text -->
      {% if section.text %}
        {% include 'section_images_text.html' %}
      {% elif section.images.count == 1 %}
        {% with section.images.first as image %}
          {% include 'section_image.html' %}
        {% endwith %}
      {% else %}
        {% include 'section_images.html' %}
      {% endif %}
    {% endwith %}
  {% elif section.text %}
    {{ section.text|linebreaks }}
  {% endif %}
  {% if section.sounds.count > 0 %}
    {% with section.sounds.all as sounds %}
      {% include 'section_sounds.html' %}
    {% endwith %}
  {% endif %}
  {% if section.videos.count > 0  %}
    {% with section.videos.all as videos %}
      {% include 'section_videos.html' %}
    {% endwith %}
  {% endif %}
  {% if section.code.count > 0  %}
    {% with section.code.all as codes %}
      {% include 'section_codes.html' %}
    {% endwith %}
  {% endif %}
  {% if section.visuals.count > 0 %}
    {% for visual in section.visuals.all %}
      <a href="{% url 'foo:visual_detail' visual.slug %}">
       <img class="foo-visual-image" src="{{ visual.image.image_file.url }}">
      </a>
      <br> 
    {% endfor %}
  {% endif %}
  {% if section.bars.count > 0 %}
    {% for bar in section.bars.all %}
      {% include './bar_item.html' %}
    {% endfor %}
    <br>
  {% endif %}
  {% if section.links.count > 0  %}
    {% with section.links.all as links%}
      {% include 'object_links.html' %}
    {% endwith %}
  {% endif %}
</div>

Source: kbruder Tech


Landing Page Section Header

foo/templates/foo/foopagesection_detail_title_bar.html
<div class="row">
  <div class="col">
    {% if not section.hide_title %}
      <h4 class="foo-page-title">{{ section.title }}</h4>
    {% endif %}
  </div>
  {% if section.owner.pk == request.user.pk %}
    <div class="col-">
      <a href="{% url 'foo:foo_page_section_delete' section.pk %}">
        <button type="button" class="btn btn-sm  btn-danger float-right">Delete</button>
      </a>
      <a href="{% url 'foo:foo_page_section_update' section.pk %}">
        <button type="button" class="btn btn-sm btn-warning float-right">Edit</button>
      </a>
      <a href="{% url 'foo:foo_page_section_create' %}">
        <button type="button" class="btn btn-sm btn-primary float-right">Add Section</button>
      </a>
    </div>
  {% endif %}
</div>

Source: kbruder Tech


Landing Page Section Detail View Template

foopagesection_detail

foo/templates/foo/foopagesection_detail.html
{% extends "base.html" %}
{% block body_block %}
{% if profile.bg_image %}<div style="background-image: url('{{ profile.bg_image.image_file.url }}');">{% endif %}
<div class="container foo-bg">
  <p><i>From the <a href="{% url 'foo:foo_page' %}">{{ profile.title }}</a> landing page.</i></p>
  {% include './foopagesection.html' %}
  {% if section.is_public %}
    Contributed by <a href="{% url 'members:member_profile' object.owner.profile.slug %}">{{ object.owner }}</a> on {{ object.publication_date }}<br>
    {% if object.last_modified > object.creation_date %}
      Last updated on {{ object.last_modified }}<br>
    {% endif %}
  {% else %}
    Created by <a href="{% url 'members:member_profile' object.owner.profile.slug %}">{{ object.owner }}</a> on {{ object.creation_date }}<br>
  {% endif %}
  <br>
</div>
<br>
{% if profile.bg_image %}</div>{% endif %}
{% endblock %}

Source: kbruder Tech


Landing Page Items

foo_page_items

foo/templates/foo/foo_page_items.html
<div class="row">
  <div class="col-sm">
    {% if new_bars.all.count > 0 %}
      <ul class="list-group foo-section">
        <h4 class="foo-page-title">New Bars</h4>
        {% for bar in new_bars %}
          <li class="list-group-item foo-list-li">
            {% include "./bar_item.html" %}
          </li>
        {% endfor %}
      </ul>
      <br>
    {% endif %}
    {% if new_bazs.all.count > 0 %}
      <ul class="list-group foo-section">
        <h4 class="foo-page-title">New Bazs</h4>
        {% for baz in new_bazs %}
          <li class="list-group-item foo-list-li">
            {% include "./baz_item.html" %}
          </li>
        {% endfor %}
      </ul>
      <br>
    {% endif %}
    {% if top_bars.all.count > 0 %}
      <ul class="list-group foo-section">
        <h4 class="foo-page-title">Top Bars</h4>
        {% for bar in top_bars %}
          <li class="list-group-item foo-list-li">
            {% include "./bar_item.html" %}
          </li>
        {% endfor %}
      </ul>
      <br>
    {% endif %}
    {% if top_bazs.count > 0 %}
      <ul class="list-groupi foo-section">
        <h4 class="foo-page-title">Top Bazs</h4>
        {% for baz in top_bazs %}
          <li class="list-group-item foo-list-li">
            {% include "./baz_item.html" %}
          </li>
        {% endfor %}
      </ul>
      <br>
    {% endif %}
  </div>
</div>
{% if profile.bitcoin_wallet or profile.litecoin_wallet %}
  <div class="foo-section">
    <h4 class="foo-page-title">Donate</h4>
    {% with profile.bitcoin_wallet as bitcoin_wallet %}
      {% with profile.litecoin_wallet as litecoin_wallet %}
        {% include 'object_crypto_wallets.html' %}
      {% endwith %}
    {% endwith %}
  </div>
{% endif %}
{% if profile.links.count > 0 %}
  {% with profile.links.all as links %}
    <div class="foo-section">
      <h4 class="foo-page-title">External Links</h4>
      {% include 'object_links.html' %}
    </div>
  {% endwith %}
{% endif %}

Source: kbruder Tech


Model Form View Template

foo_form

foo/templates/foo/foo_form.html
{% extends 'form.html' %}
{% block header_block %}
{% include './foo_form_header.html' %}
{% endblock %}

Source: kbruder Tech


Model List View Template

foo/templates/foo/foomodel_list.html
{% extends './foo_list.html' %}
{% block items_block %}
  <div class="row">
    {% for bar in bars %}
      <div class="col-4-sm foo-list-card">
        {% include './bar_item.html' %}
      </div>
    {% endfor %}
  </div>
{% endblock %}

Source: kbruder Tech


Model Item

foo/templates/foo/bar_item.html
{% extends './foo_list.html' %}
{% block items_block %}
<div class="row">
  {% for album in albums %}
    <div class="col-4-sm foo-list-card">
      {% include './bar_item.html' %}
    </div>
  {% endfor %}
</div>
{% endblock %}
  <div class="col-sm">
    <h5 class="foo-title">
      <a href="{% url 'foo:bar_detail' bar.slug %}">
        {{ bar.title }}
      </a>
    </h5>
    <p>
      Performed by <span class="index-page-span">{{ bar.artist }}</span><br>
      Released by <a href="{% url 'members:member_profile' bar.owner.username %}"><span class="index-heading-span">{{ bar.owner }}</span></a> on {{ bar.creation_date|date:"M d, Y" }}<br><br>
    </p>
  </div>
</div>
<p>
  {{ bar.meta_description }}
</p>
{% if not bar.is_public %}
  <span class="badge badge-dark">Unpublished</span>
{% endif %}
{% if bar.tags.all.count > 0 %}
  {% with bar as object %}
    {% include 'object_tags.html' %}
  {% endwith %}
{% endif %}

Source: kbruder Tech


Model Detail View Template

foo_detail

foo/templates/foo/foo_detail.html
{% extends "base.html" %}
{% block body_block %}
{% if profile.bg_image %}<div style="background-image: url('{{ profile.bg_image.image_file.url }}');">{% endif %}
<div class="container foo-bg">
  {% if bar.is_public or bar.owner.pk == request.user.pk %}
    <!-- Title bar -->
    {% include './bar_detail_title_bar.html' %}
    <!-- Meta data -->
    {% if bar.is_public %}
      <p>Written by <a href="{% url 'members:member_profile' bar.owner.profile.slug %}">{{ bar.owner }}</a>, published on {{ bar.publication_date|date:"M d, Y" }}{% if bar.last_modified > bar.publication_date %}<br>Last updated on {{ bar.last_modified|date:"M d, Y" }}{% endif %}</p><br>
    {% else %}
      <p>Owned by <a href="{% url 'members:member_profile' bar.owner.profile.slug %}">{{ bar.owner }}</a>, created on {{ bar.creation_date }}</p><br>
    {% endif %}
    <!-- Heading -->
    <div class="row">
      <!-- Table of Contents -->
        {% include './table_of_contents.html' %}
      <!-- Header Image -->
      {% with bar.image as image %}
        {% include './header_image.html' %}
      {% endwith %}
    </div>
    <br>
    <br>
    {% if bar.intro %}
      {{ bar.intro|linebreaks }}
      <br>
    {% endif %}
    {% if sections %}
      {% for section in sections %}
        {% include './barsection.html' %}
        <br>
      {% endfor %}
    {% endif %}
    {% if bar.outro %}
      {{ bar.outro|linebreaks }}
      <br>
    {% endif %}
    {% if bar.links.count > 0 %}
      <h4 class="foo-title">Links</h4>
      {% with bar.links.all as links %}
        {% include 'object_links.html' %}
      {% endwith %}
      <br>
    {% endif %}
    {% with bar.bitcoin_wallet as bitcoin_wallet %}
      {% with bar.litecoin_wallet as litecoin_wallet %}
        {% include 'object_crypto_wallets.html' %}
      {% endwith %}
    {% endwith %}
    {% if bar.tags.count > 0 %}
      {% include 'object_tags.html' %}
    {% endif %}
    <br>
  {% else %}
    <p>This Bar has not been published yet.</p>
    <br>
  {% endif %}
</div>  
<br>
{% if profile.bg_image %}</div>{% endif %}
{% endblock %}

Source: kbruder Tech


Model Delete View Template

foo/templates/foo/bar_confirm_delete.html
{% extends 'base.html' %}
{% block body_block %}
<div class="container foo-bg">
  <div class="container">
    <form method="post">{% csrf_token %}
      <p>Are you sure you want to delete the Bar with the title "{{ bar.title }}"?</p>
      <input type="submit" value="Confirm" class="btn btn-danger">
    </form>
  </div>
  <br>
</div>
{% endblock %}

Source: kbruder Tech


Model Button Templates

Button template code makes use of template extending and blocks in order to adhere to DRY coding practices and so that the look of the buttons can be customized across the entire site by changing only a few lines. There are two main types of buttons; regular and small. The regular buttons use the out-of-the-box Bootstrap 4 code. The small buttons also use Bootstrap CSS classes but also use a custom class that makes them appear smaller and more circular.

Regular buttons take 3 blocks; button_url, parameters, and button_text. The button_url block expects only a single Django URL template tag. The parameters block is optional. It expects a query string begining with a '?' as described in RFC 3986 3.4. multiple parameters should be assigned with '=' and delimited with '&'. The button_text block is the text that will appear in the button.

Small buttons take only button_url and parameters. The button text is a single character which can be changed in the base button templates.

home/templates/home/homepagesection_add_button.html
{% extends 'small_add_button.html' %}
{% block button_url %}{% url 'home:home_page_section_create' %}{% endblock %}
{% block parameters %}?next={{ request.path }}{% if section %}&order={{ section.next_order }}{% endif %}{% endblock %}

Extending the base add button for a model create button with parameters.
Source: kbruder Tech

home/templates/home/homeappprofile_edit_button.html
{% extends 'edit_button.html' %}
{% block button_url %}{% url 'home:home_app_profile_update' pk=1 %}{% endblock %}
{% block parameters %}?next={{ request.path }}{% endblock %}
{% block button_text %}Edit App{% endblock %}

Extending the base edit button template for a specific model.
Source: kbruder Tech

🌐 RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax


Referenced by

App Profile Design Patterns - Lookaway CMS

Lookaway CMS comes with mixins, models, forms, and views that can be used when writing new Django apps.

bitcoin:3MnhNRKgrpTFQWstYicjF6GebY7u7dap4u
Bitcoin Accepted Here

3MnhNRKgrpTFQWstYicjF6GebY7u7dap4u

Please donate some Bitcoin to our site. We can use it to keep improving the site and open up to more members. Any amount will help. Thank you.


litecoin:MT61gm6pdp9rJoLyMWW5A1hnUpxAERnxqg
Litecoin Accepted Here

MT61gm6pdp9rJoLyMWW5A1hnUpxAERnxqg

Please donate some Lite to our site. We can use it to keep improving the site and open it up to more members. Any amount will help. Thank you.