django ajax jquery csrf_exempt 设置favicon.ico

  • 响应ajax请求的views方法需要加上@csrf_exempt注解,否则post请求报错,get可以
  • 设置favicon.ico,在url.py里加上path(‘favicon.ico’, RedirectView.as_view(url=r’media/favicon.ico’))即可
from django.contrib import admin

from django.conf import settings
from django.conf.urls.static import static
from django.views.generic.base import RedirectView

from django.urls import path
import app3.views as a3v

urlpatterns = [
    path('admin/', admin.site.urls),
    
    path('a3/ajax', a3v.ajax),

    path('favicon.ico', RedirectView.as_view(url=r'media/favicon.ico')), 
    # path('favicon.ico', RedirectView.as_view(url=r'static/img/1.jpg')), 

]
if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL,
                          document_root=settings.MEDIA_ROOT)
//app3\views.py
from django.short


cuts import render
from django.http import HttpResponse,JsonResponse
from django.shortcuts import redirect, render
from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def ajax(request):
    if request.method == 'GET':
        print(request.GET)
        return JsonResponse({'code':555,'method':'doget'})    
    print(request.POST)
    return JsonResponse({'code':666,'method':'dopost'})   
//app3\templates\test_extends.html
{% extends 'base.html' %}
{%load static%}

{% block head %}
<script src="https://code.jquery.com/jquery-3.6.0.min.js"
  integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<title>app3</title>
{% endblock %}


{% block body %}
<p>This page has a body page</p>
<button type="button" id="getbutton">GET</button>
<button type="button" id="postbutton">POST</button>
<script>
  // $(function () {
    $("#getbutton").on("click", function (event) {
      $.ajax({
        type: "get",
        url: "/a3/ajax",
        data: { "id": 11 },
        dataType: "json"
      }).done(function (data) {
        console.log(data,typeof(data));
      }).fail(function (XMLHttpRequest, status, e) {
        console.error(XMLHttpRequest, status, e);
      });
    });

    $("#postbutton").on("click", function (event) {
      $.ajax({
        type: "post",
        url: "/a3/ajax",
        data: { "id": 111 },
        dataType: "json"
      }).done(function (data) {
        console.log(data,typeof(data));
      }).fail(function (XMLHttpRequest, status, e) {
        console.error(XMLHttpRequest, status, e);
      });
    });
  // });

</script>
{% endblock %}


{% block foot %}
<p>This page has a foot page</p>
{% endblock %}

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...