Разобрать пользовательский ввод, чтобы показать как html код. Python + Django - PullRequest
0 голосов
/ 25 апреля 2020

У меня Публикация класс с полем для ввода теги . Я фиксирую это методом POST. Проблема в том, что я не могу разобрать его правильно, чтобы иметь возможность использовать эти теги следующим образом (чтобы дать им лучший вид, а не просто показать скучную строку

{% for item in tags_string %}
    <p class="badge">{{ item.tag }}</p>
{% endfor %}

Как отформатировать этот tags_string , чтобы django его понимал.

Я попытался создать QuerySet с использованием следующего метода и создать список словарей

result = []
for a in tags.split():
   tag_entry = {
        'tag' : a,
    }
    result.append(tag_entry)

Как В результате я получаю строку [{'tag': 'sky'}, {'tag': 'mountain'}]

мои views.py для создать публикацию выглядит так:

def create_publication(request):
    a = Publication(publication_title = request.POST['title'], tags = request.POST['tags'])

Но на моей странице ничего не отображается с использованием упомянутых кодовый блок.

1 Ответ

0 голосов
/ 25 апреля 2020

Django view.py

def page_view(request): 

result = {'tag': []}

f = "red, yellow, green, orange"
for tag in f.split(','):
   result['tag'].append(tag)

# create a dictionary 
context = { 
    "tag" : result, 
} 
# return response 
return render(request, "page.html", context) 

Django Шаблон:

{% for i in tag %} 
    <div class="row"> 
        {{ i }} 
    </div> 
{% endfor %} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...