как перезагрузить сегмент веб-страницы в Джанго?

Вопрос задан: 9 месяцев назад Последняя активность: 9 месяцев назад
up 0 down

В Джанго, я пытаюсь сделать кнопки, которые меняют один сегмент веб-страницы с помощью загрузки файла HTML. HTML-файл показывает карту и статистику и прочее, поэтому они должны быть разделены. Мой подход заключается в использовании Ajax вызова и в представлении, вернуть файл HTML.

<script type="text/javascript" >
function mapcall (office, year){ 
        console.log(office, year, "clicked")
    $.ajax ({
        method : "GET", 
        url: '/map/', // % url "map" % end point 
        data: {
            office_called: office,
            year_called: year,
        },
        success: function (map){
            console.log("map is here ", map)
            $("#maparea").load($( "{% static 'my_html_return' %}"
            ))},
        error: function (error_data){
        alert("data error, sorry")
        }
    })
}
</script>
<div id="maparea">
    {% if map_return %}
        {% with map_template=map_return|stringformat:"s"|add:".html" %}
            {% include "mypath/"|add:map_template %}
        {% endwith %}
    {% endif %}
</div>

Это мой view.py

def get_map (request, *args, **kwargs):
year = request.GET.get("year_called")          
office = request.GET.get("office_called") 

map_return = "map"+str(year)+office

return render(request, "mypath/home.html", 
{"title": "Home", "map_return":map_return})

Я не знаю, как сделать эту работу. Любое предложение будет оценено.

1 ответ

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

Реклама

up 0 down accepted

Я понял, что мне нужно сделать .html (взять HTML отдачу от AJAX в качестве аргумента) вместо .load в моем случае. Я надеюсь, что это поможет другим людям.