如何从我的javascript转到当前应用程序的另一个应用程序的views.py
我的javascript:如何从我的javascript转到当前应用程序的另一个应用程序的views.py,javascript,python,django,xmlhttprequest,Javascript,Python,Django,Xmlhttprequest,我的javascript: xhttp.open('POST', 'avgsize/avgpython' ,true); xhttp.setRequestHeader("content-type","application/json"); xhttp.send(JSON.stringify(dates)); xhttp.onreadystatechange=function(){ if(this.readyStat
xhttp.open('POST', 'avgsize/avgpython' ,true);
xhttp.setRequestHeader("content-type","application/json");
xhttp.send(JSON.stringify(dates));
xhttp.onreadystatechange=function(){
if(this.readyState==4 && this.status==200){
alert(this.responseText);
}
}
My present Home应用程序(我访问的所有URL都在此应用程序中工作)URL.py:
urlpatterns = [
path('' , views.HomeBase , name="HomeBase"),
path('Home' , views.Home , name="Home"),
path('astroids' , include('Astroids.urls')),
path('nearest' , include('Nearest.urls')),
path('fastest' , include('Fastest.urls')),
path('avgsize/' , include('Avgsize.urls')),
]
我的Avgsize应用程序URL(我想从家庭应用程序来到这里):
我应该在代码中做哪些更改,以便从javascript转到Avgsize应用程序,链接avgpython并访问views.avgpython。请帮忙 继续逐行提问 1.)在Javascript异步请求中,您需要随请求一起发送CSRF令牌,如果您没有随请求一起发送CSRF令牌,Django服务器将抛出一个错误,指出请求来自不同的域,为避免所有这些复杂性,我建议使用
CSRF\u豁免
decorator
2.)在您的主页URL中,不需要做太多更改,但为了保持简单,我建议使用以下方法,减少转发请求的一个步骤(考虑小项目,如果您的项目很大,则不应遵循此方法)
3.)在您的观点中,正如我在第一点中所说,您需要在该观点中添加csrf豁免,这就是您需要这样做的方式
from django.views.decorators.csrf import csrf_exempt
from django.http import HttpResponse
@csrf_exempt
def avgpython(request):
return HttpResponse("You came to AvgPython Function")
据我所知,我已向您提供了您想要的信息,如果您在当前解决方案中遇到任何问题,您可以在解决方案中进行评论,或者您甚至可以通过以下地址向我发送邮件:kiranu941@gmail.com
from Avgsize import views
urlpatterns = [
path('avgsize/avgpython' , include('views.avgpython'))
]
from django.views.decorators.csrf import csrf_exempt
from django.http import HttpResponse
@csrf_exempt
def avgpython(request):
return HttpResponse("You came to AvgPython Function")