Django刷新页面

时间:2018-04-20 20:14:15

标签: python ajax django

我无法弄清楚如何在不使用Ajax重新启动的情况下更改页面。

urls.py

urlpatterns = [
    path('name/', views.name, name='name'),
    path('', views.index, name='index'),
  ]

views.py

def name(request):
    return render(request, 'site/name.html')

的index.html

<a href="/name" id="aj">page name</a>

<div id="content">
   {% block content %}
   {% endblock %}
</div>

如果您能给我一个简单的代码,我将非常感激。

2 个答案:

答案 0 :(得分:0)

如果你的视图返回html,你可以这样做,

var post_data = {
    'field1':x,
    'field2':y,
    'csrfmiddlewaretoken': "{{ csrf_token }}"
};

$.post("{% url "urlname" %}", post_data, function(result){
    $("#content").html(result);
})

答案 1 :(得分:0)

你可以试试这个..

views.py

def page_name(request):
    return render(request, 'site/name.html', {})

urls.py

from .views import index, page_name
urlpatterns = [
  path('name/', page_name, name='name'),
  path('', index, name='index'),
]

的index.html

<a href="#" id="clickme">page name</a>

{% block content %}
    <div id="content">
        <!-- Your content -->
    </div>
{% endblock content %}


<script type="text/javascript">
  $('#clickme').click(function(evt){
    evt.preventDefault();
    $.ajax({
        synch: 'true',
        type: 'GET',
        url: '{% url 'name' %}',
        success: function(data){
            $('#content').html(data);
        }
    });//End Ajax
  }
</script>