Как дать значение в переменной при редактировании формы в Python - PullRequest
1 голос
/ 02 мая 2019

Я работаю над формой редактирования, когда я иду на редактирование, я хочу показать предварительно загруженные значения для этой формы, но когда я устанавливаю значение в переменную, она не работает для меня, может кто-нибудь помочь мне решить эту проблемувопрос?здесь я добавил весь свой код

views.py

def add(request,id=None):
    pass
    if request.POST:
        title = request.POST.get("title")
        permialink = request.POST.get("permialink")
        updated_date = request.POST.get("updated_date")
        bodytext = request.POST.get("bodytext")

        page_data = Pages(title=title,permialink=permialink,updated_date=updated_date,bodytext=bodytext)
        page_data.save()
        return HttpResponseRedirect(reverse('crud:index', args=('')))
    else:
        if id is not None:
            page_data = Pages.objects.all().filter(id=id)
            context = {"page_data":page_data}
            return render(request,'polls/add.html',context)
        else:
            return render(request,'polls/add.html')

add.html

{% load static %}

{% if page_data %}
     title = page_data.title
     permialink =  page_data.permialink
{% else %}
    title = ''
    permialink = ''
{% endif %}

<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="">
    {% csrf_token %}
    <input type="submit" name="submit" value="Submit">
</form>

1 Ответ

2 голосов
/ 02 мая 2019

Этот блок:

{% if page_data %}
    title = page_data.title
    permialink =  page_data.permialink
{% else %}
    title = ''
    permialink = ''
{% endif %}

не должно быть в вашем add.html шаблоне. Вы не можете назначать такие переменные в шаблонах Django.

Вместо этого, по вашему мнению, логика должна быть написана на Python add. Используя блок if / else Python, передайте вашим context ключам dict title / permialink соответствующие значения. Затем они могут быть напрямую отображены в шаблоне add.html.

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