Django как получить значение из набора запросов, который имеет пару значений kay в базе данных - PullRequest
0 голосов
/ 21 июня 2020

У меня есть models.py, например

class SiteSettings(TimeStampedModel):
    
    property_key = models.CharField(max_length=200)
    property_value = models.CharField(max_length=255)

В моем views.py код похож на

settings = SiteSettings.objects.filter(status=1)

как я могу отобразить значение параметра в HTML файл. Как в моей таблице есть 2 значения: property_key property_key is_active site_title Некоторый заголовок 1 site_des c Описание сайта 1

Теперь нужно отобразить эти 2 значения в шаблоне. Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 21 июня 2020

в первую очередь то, что будет храниться в переменной settings в вашем представлении, будет набором запросов (наборы запросов похожи на список), поэтому для отображения его в вашем шаблоне вам потребуется l oop через это. Итак, ваше представление будет выглядеть так:

def your_view_name(request):
    settings = SiteSettings.objects.filter(status=1)
    return render(request,<path to template>,{'settings':settings})

, а в шаблоне у вас будет что-то вроде

<html>
   <body>
       {% for s in settings %}
          <h1>{{s.property_key}} {{s.property_value}}</h1>
       {% endfor %}
   </body>
</html>

Во-вторых, я считаю, что вам следует фильтровать на основе полей, присутствующих в вашей модели (но это просто мнение)

0 голосов
/ 21 июня 2020

Если я правильно понимаю, вы хотите показать переменные «settings» внутри вашего HTML файла, так вы пробовали использовать jinja2? Вы можете просто поместить это в свой html код {{settings}}, и он заменит переменную на то, что переменная находится в python, в ваших моделях перед рендерингом, вам просто нужно указать, что "settings = settings" , чтобы html знал, какую переменную искать

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