Как создать базовый файл макета в Django - PullRequest
0 голосов
/ 03 мая 2019

В папке templates у меня есть 2 HTML-файла, index.html и add.html, я хочу создать один файл макета и добавить в него верхний и нижний колонтитулы, а в среднем содержимом я хочу переопределить мои 2 файла в этот файл макета, кто-нибудь может помочь мне с этим?

Вот мои 2 html-файла:

index.html:

{% load static %}

<link rel="stylesheet" type="text/css" href="{% static 'polls/style.css' %}">

<table>
    <tr>
        <th>Page Title</th>
        <th>Update Date</th>
        <th>Action</th>
    </tr>
    {% if pagelist %}
        {% for page in pagelist %}
            <tr>
                <td>{{ page.title }}</td>
                <td>{{ page.updated_date }}</td>
                <td><a href="{% url 'crud:update' page.id %}">Edit</a></td>
            </tr>
        {% endfor %}
    {% else  %}
            <tr>
                <td colspan="2">Np Pages are available</td>
            </tr>
    {% endif %}
</table>

add.html:

{% load static %}



<link rel="stylesheet" type="text/css" href="{% static 'polls/style.css' %}">

<form method="post" action="{% url 'crud:add' %}" name="page_form" id="page_form">
    <input type="text" name="title" value="{{ title }}">
    <input type="text" name="permialink" value="{{ permialink }}">
    <input type="text" name="updated_date" value="">
    <input type="text" name="bodytext" value="">
    <input type="hidden" name="pages_id" value="{{ page_id }}">
    {% csrf_token %}
    <input type="submit" name="submit" value="Submit">
</form>

1 Ответ

1 голос
/ 03 мая 2019

Следуйте этому руководству и может иметь, например:

base.html

<body>
    <div class="page-header">
        <!-- your header here -->
    </div>
    <div class="content container">
        <div class="row">
            <div class="col-md-8">
            {% block content %}
            {% endblock %}
            </div>
        </div>
    </div>
    <div class="page-footer">
        <!-- your footer here -->
    </div>
</body>

Тогда index.html может расширяться base.html следующим образом:

index.html

{% extends 'base.html' %}

{% block content %}
    <table>
    <tr>
        <th>Page Title</th>
        <th>Update Date</th>
        <th>Action</th>
    </tr>
    {% if pagelist %}
        {% for page in pagelist %}
            <tr>
                <td>{{ page.title }}</td>
                <td>{{ page.updated_date }}</td>
                <td><a href="{% url 'crud:update' page.id %}">Edit</a></td>
            </tr>
        {% endfor %}
    {% else  %}
            <tr>
                <td colspan="2">Np Pages are available</td>
            </tr>
    {% endif %}
</table>
{% endblock %}

note Вы можете добавить больше блоков, которые можно переопределить в шаблоне base.html для визуализации js и css внутри головы и т. Д.).

Это легко, если вы поймете blocks of code и тот факт, что они могут быть переопределены в дочерних шаблонах

сделать аналогично add.html шаблон

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...