在我全新的PyCharm专业版中,我得到了警告“Unresolved attribute reference 'user' for 'WSGIRequest'"。该警告出现在MyClass.post()
的第一行(参见下面的代码)。
from django.views import generic
from django.db import models
from django.http.request import HttpRequest
from django.shortcuts import render
from django.contrib.auth.models import AbstractUser
class CustomUser( AbstractUser ):
emailname = models.CharField()
class Invoice( models.Model ):
posted = models.DateField()
class BaseView ( generic.DetailView ):
model = Invoice
def __int__( self, *args, **kwargs ):
super().__init__( *args, **kwargs )
# some more code
class MyClass( BaseView ):
def __int__( self, *args, **kwargs ):
super().__init__( *args, **kwargs )
# some more code
def post( self, request: HttpRequest, *args, **kwargs ):
context = { 'curr_user': request.user, } # <-- Unresolved attribute reference 'user' for class 'WSGIRequest'
# some more code
html_page = 'mypage.html'
return render( request, html_page, context )
字符串user
是一个CustomUser
对象。测试表明,user
是CustomUser
中的已知属性,代码运行良好,context
中的'Curr_user'是预期的属性。request
的其他属性,如request.path
或request.REQUEST
不会被警告。Django支持已启用。
我使用PyCharm 2023.2.5(专业版),Windows 11
有人能帮忙吗?我错在哪里?
问候
1条答案
按热度按时间n3h0vuf21#
request.user
并不一定适用于所有请求(这取决于您是否有中间件注入它),因此它不一定存在。如果你需要的话,你当然可以添加一个
字符串
用于类型注解的类。