Я работаю с Djangolusion_tag и Wagtail Site Setting. - PullRequest
0 голосов
/ 22 октября 2019

Я новичок в Django и Wagtail и столкнулся с небольшой проблемой.

Я хочу оценить настройки сайта Wagtail, используя Djangolusion_tag.

, {{settings.app_1.SimpleHtmlSettings.heading}} и {{settings.app_1.SimpleHtmlSettings.body}} в index.html ничего не печатает.

Я пробовал всего два решения, но ни одно из них не работает

  1. app_1_extras.py (simple_html = SimpleHtmlSettings.for_site (context ['request']. Site))

  2. app_1_extras.py (simple_html = SimpleHtmlSettings.objects.first)

models.py

from django.db import models
from wagtail.contrib.settings.models import BaseSetting, register_setting

# Create your models here.

@register_setting
class SimpleHtmlSettings(BaseSetting):
    heading = models.CharField(
        max_length=255, help_text='Enter heading')
    body = models.CharField(
        max_length=255, help_text='Enter body content')

views.py

from django.shortcuts import render
from app_1.models import SimpleHtmlSettings
from django.http import HttpResponse

# Create your views here.

def index(request):
    return render(request, 'app_1/test.html')

app_1_extras.py

from django import template
from app_1.models import SimpleHtmlSettings

register = template.Library()

@register.inclusion_tag('app_1/index.html', takes_context=True)
def show_results(context):
    # simple_html = SimpleHtmlSettings.for_site(context['request'].site)
    simple_html = SimpleHtmlSettings.objects.first
    return {'simple_html': simple_html}

index.py

{% load wagtailsettings_tags %}

<h1>{{ settings.app_1.SimpleHtmlSettings.heading }}</h1>

<p>{{ settings.app_1.SimpleHtmlSettings.body }}</p>

<p>Check</p>

test.py

{% load wagtailsettings_tags %}
{% load app_1_extras %}

{% show_results %}

test.html только печать "Чек"

Спасибо !!!

1 Ответ

0 голосов
/ 22 октября 2019

Вы устанавливаете переменную simple_html, которая будет доступна в вашем шаблоне index.html, и затем никогда не будете использовать эту переменную. index.html должен стать:

<h1>{{ simple_html.heading }}</h1>

<p>{{ simple_html.body }}</p>

<p>Check</p>
...