在Django中导入自定义类后输入错误

时间:2018-06-21 16:05:48

标签: python django typeerror

我有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)

我在这里做错了什么,新的想法受到赞赏。

1 个答案:

答案 0 :(得分:3)

Django视图函数将HttpRequest对象作为其第一个参数,因此您应添加request参数:

@csrf_exempt
def New_Function(request):
    myFunc = foo('Test','User')
    return HttpResponse(myFunc.Get_Fullname())