Передача переменной из шаблона для просмотра в django - PullRequest
0 голосов
/ 15 апреля 2020

Как передать значение из django шаблонов в views.py ?? Я написал Index. html, имея функцию представления index (), теперь я создал еще одну функцию представления мест (), в которой мне нужно передать значение тега p из файла Index. html. Он не включает в себя метод POST или GET.

Индекс. html

{% block content %}
<div >
        {% for key,values in image_data.items  %} 
                <div class="divtag">
                <!-- {{key}} -->
                    <a href="Places" class="tag" >
                        <img src="{{values}}"/>
                        <div class="middle">
                            <p class="center" data={{key}}>{{key}}</p>
                        </div>
                    </a>
                </div>
        {% endfor %}
</div>
{% endblock %}

Views.py

#main index view
def index(request):
img = MyModel.objects.all()
template = loader.get_template('Index.html')
image_data = {}
for obj in img:

    image_data[obj.image_name] = obj.image

print("-----------------------------------------------------------------")
return render(request,'Index.html',{"image_data" : image_data})

 # where i need to return value from template
def places(request):
name = 'Paris'  #i want name value from p tag in html file
if(name == 'Paris'):

    img = Paris.objects.all()
    template = loader.get_template('Index.html')
    image_data = {
        'images' : [obj.image for obj in img],
        'name' : [obj.image_name for obj in img],
        'description' : [obj.image_description for obj in img]
    }
    image_data_zip = zip([obj.image for obj in img],[obj.image_name for obj in img],[obj.image_description for obj in img])   
    print("-----------------------------------------------------------------")
    return render(request,'Paris.html',{"image_data_zip" : image_data_zip})
else:

    img = Germany.objects.all()
    template = loader.get_template('Index.html')
    image_data = {
        'images' : [obj.image for obj in img],
        'name' : [obj.image_name for obj in img],
        'description' : [obj.image_description for obj in img]
    }
    image_data_zip = zip([obj.image for obj in img],[obj.image_name for obj in img],[obj.image_description for obj in img])   
    print("-----------------------------------------------------------------")
    return render(request,'Germany.html',{"image_data_zip" : image_data_zip})

1 Ответ

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

Отправка данных из Back-End во Front-End - context in django.

Отправка данных из Front-End в Back-End - Ajax, и это не django концепция ,

Вот ссылка на использование ajax с jQuery. Без jQuery, поиск axios

например,

$.ajax({
    url: 'myserver/getID', // no domain needed. careful with CORS (search about it)
    type: 'GET',
    data: // don't specify this, we're not posting any data,
    success: function (response) {console.log(response.data)}, 
    // response will be what returned from python
    error: function (error){console.log(error)}
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...