我想通过api对用户进行身份验证,这将在kwargs中提供用户名和密码。在我的登录视图中,我想调用此函数。在我看来,我只想渲染模板而不是逻辑。
def login(**kwargs):
user = authenticate(username=kwargs['username'], password=kwargs['password'])
login(user)
在django注册教程中我看到了login(request, user)
。
我很困惑,我应该在这里使用request
,否则它将在没有用户的情况下登录。
谢谢
答案 0 :(得分:0)
您在自己的函数中调用的Django的login
函数接受请求。没有该参数就无法调用它。这当然是有道理的,因为没有可能的原因将用户记录在请求的上下文之外。
答案 1 :(得分:0)
要在即中记录用户以设置会话,您需要login
参数。请注意,您无法为函数login
命名,因为它会与Django的def my_view(request):
if request.method == 'POST':
# process logic
# authenticate user
return HttpResponse('some message')
# the following code is processed when
# request.method is not POST
return render(request, 'login-template.html')
函数冲突。
如果您只想分离逻辑和模板,可以这样做:
customDrawingView.post(new Runnable() {
@Override
public void run() {
View view_instance = customDrawingView;
android.view.ViewGroup.LayoutParams params = view_instance
.getLayoutParams();
int newLayoutWidth = customDrawingView
.getWidth()
+ customDrawingView.getWidth();
params.width = newLayoutWidth;
view_instance.setLayoutParams(params);
screenWidthBackup = params.width;
}
});