首页 > 解决方案 > 如何在 django 视图函数中调用 url

问题描述

我正在尝试在 django 视图函数中使用 urllib 执行 urls.py 的 url 之一。执行后我得到了错误

raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 411: Length Required

这是否可以在 django 视图函数中使用 urllib 执行 url。

@login_required(login_url='http://domain/user/login?destination=apps/member/change_password')
def change_password(request):
    '''Form for user to change their password'''
    form = SetPasswordForm(user=request.user, data=request.POST or None)
    if form.is_valid():
        form.save()
        ob = urllib.request.urlopen(url='http://domain/login/', data=request)
        messages.success(request, 'Your password has been succesfully updated!')
        return redirect('hq:profile')

    return render(request, 'registration/password_change_form.html',
        {'form': form})

当我执行 urllib

标签: djangopython-3.x

解决方案


是的,这是可能的,但请记住,该请求的时间将增加您的加载时间。

如果您在同一个 django 系统中执行此操作,您应该考虑是否有更好的解决方案。

在您的情况下,它最终可能会使用:

from django.contrib.auth import authenticate

authenticate(username, password)

推荐阅读