python - Django 错误:请求没有属性用户
问题描述
我有一个标准表格,允许用户在系统中创建新客户。新的客户数据通过表单的 POST 请求传递,并使用 POST 数据执行存储过程。我还有其他几个功能以相同的方式运行,没有问题。
Traceback表明错误是从以下位置引发的django\contrib\auth\decorators.py
:
Traceback (most recent call last):
File "...\venv\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
response = get_response(request)
File "...\venv\lib\site-packages\django\core\handlers\base.py", line 179, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "...\venv\lib\site-packages\django\contrib\auth\decorators.py", line 21, in _wrapped_view
return view_func(request, *args, **kwargs)
File "...\views.py", line 326, in new_customer
new_customer(entityID, storeID, userID, lastName, firstName, phone, dlState, dlNum, dob, dlExp, adr1, adr2, city, state, zipc)
File "...\venv\lib\site-packages\django\contrib\auth\decorators.py", line 20, in _wrapped_view
if test_func(request.user):
AttributeError: 'int' object has no attribute 'user'
我在函数中添加了一些打印语句来验证请求的值。为什么首先是请求int
?
功能:
@login_required
def new_customer(request):
if not validate_user_session(request.user.id):
return redirect('newSession')
if validate_user_session(request.user.id):
print(request.user.id)
if request.method == 'POST':
entityID = Current_Session_VW.objects.filter(user_id=request.user.id)[0].entity_id
storeID = Current_Session_VW.objects.filter(user_id=request.user.id)[0].store_id
userID = request.user.id
lastName = request.POST['Last_Name']
firstName = request.POST['First_Name']
phone = request.POST['Phone']
email = request.POST['Email']
dlState = request.POST['Driver_License_State']
dlNum = request.POST['Driver_License_Number']
dob = request.POST['Date_Of_Birth']
dlExp = request.POST['Driver_License_Expiration_Date']
adr1 = request.POST['Address_1']
adr2 = request.POST['Address_2']
city = request.POST['City']
state = request.POST['State']
zipc = request.POST['Zip']
dob = sql_date(dob)
dlExp = sql_date(dlExp)
print(request)
new_customer(entityID, storeID, userID, lastName, firstName, phone, dlState, dlNum, dob, dlExp, adr1, adr2, city, state, zipc)
messages.success(request, 'Customer Successfully Registered')
print(len(request))
return redirect('Home')
解决方案
推荐阅读
- ruby-on-rails - 控制器请求重复故障排除
- macros - Elixir:AST扩展期间未定义的变量
- c++ - 共享内存中的 C++ 二维数组(基于命令行参数)
- mysql - 如何解决 MySQL `ERROR 1205 (HY000): Lock wait timeout exceeded; 尝试重新启动事务`
- wordpress - 自定义 Wordpress 页面,某些 div 中的用户个人资料信息
- sql - 将 SQL 中的表透视到具有最大唯一观察数的列
- mysql - 存储过程 MySQL——按订单数量的会员折扣
- electron - [Mac OS]:如何创建适用于 Windows 的 Electron 应用程序安装程序,但使用 Mac?
- php - Laravel 如何使用 GET 路由名称生成 url?
- azure-iot-hub - “undefinedRouteEvaluation”重要吗?