NameError - 全局名称未定义

-1 投票
1 回答
9314 浏览
提问于 2025-04-16 12:22

我正在尝试从HTML表单中读取一些数据,并把这些数据插入到数据库里。但是我遇到了一个错误:“NameError at /createEmployee/ : global name 'get_post_param' is not defined”,意思是找不到叫'get_post_param'的东西。我会把我的代码贴在这里。有人能帮我解决这个问题吗?
VIEWS.PY

def createEmployee(request):
    if request.method == "POST":
        userName = get_post_param(request,"userName")
        designation = get_post_param(request,"designation")
        employeeID = get_post_param(request,"employeeID")
        contactNumber = get_post_param(request,"contactNumber")
        project = get_post_param(request,"project")
        dateOfJoin = get_post_param(request,"dateOfJoin")
        EmployeeDetails(userName=userName,designation=designation,employeeID=employeeID,contactNumber=contactNumber,project=project,dateOfJoin=dateOfJoin).save()
        return render_to_response('createEmployee.html')
    else:
        return render_to_response('createEmployee.html')

TEMPLATE.PY

<form action="http://127.0.0.1:8000/createEmployee/" method="POST"> 
Name: <input type="text" name="userName" /><br />
Designation: <input type="text" name="designation" /><br>
EmployeeID: <input type="text" name="employeeID" /><br>
Contact Number: <input type="text" name="contactNumber" /><br>
Project: <input type="text" name="project" /><br>
Date Of Join: <input type="text" name="dateOfJoin" /><br>
<input type="submit" value="Submit" /><br />
</form>

1 个回答

5

这个问题很简单。你没有定义 get_post_param 这个东西。
你是从哪里想到这个 get_post_param 的呢?

只需要定义一个叫 get_post_param 的函数就可以解决这个问题了。

下面是一个 Python 的命令行示例:

>>> get_post_param(request, 'userName')
NameError: not defined

>>> def get_post_param(request, param):
...    return request.POST.get(param) 
       # or scrap the idea of a function to do a one liner op anyways

>>> get_post_param(request, 'userName'):
'my_username'

撰写回答