我有test.py
个文件,其中添加了python class
。类代码看起来像这样。
class foo:
def __init__(self,firstname,lastname):
self.fname = firstname
self.lname = lastname
self.email = firstname + "." + lastname + "@test.com"
def Get_Fullname(self):
return self.fname+ " " + self.lname
test.py
文件直接位于app文件夹下。我的view.py
文件看起来像这样
from django.views.decorators.csrf import csrf_exempt
from test import *
@csrf_exempt
def New_Function():
myFunc = foo('Test','User')
return HttpResponse(myFunc.Get_Fullname())
将以下内容添加到urls.py
urlpatterns = [
url(r'^$','app.views.home',name='home'),
url(r'^functionCall/','app.views.New_Function'),
]
我有java-script
$(document).ready(function(){
$.ajax(
{
url: '/functionCall/',
method:'POST',
success: function(response){
console.log(response)
}
});
});
加载页面时,我得到TypeError at /functionCall/
和New_Function() takes no arguments (1 given)
我在这里做错了什么,新的想法受到赞赏。
答案 0 :(得分:3)
Django视图函数将HttpRequest
对象作为其第一个参数,因此您应添加request
参数:
@csrf_exempt
def New_Function(request):
myFunc = foo('Test','User')
return HttpResponse(myFunc.Get_Fullname())