Django:在此服务器上找不到请求的URL / accounts / login /

问题描述 投票:1回答:1

这个观点的哪一部分让我访问这个网址,为什么不能访问它?我以前从未见过它。在我的开发机器上一切都很好,现在我已经将它转移到Apache服务器上生产,我无法弄清楚如何解决这个错误。

def new_user(request):
    form = NewAccountForm(request.POST)
    if form.is_valid():
        username = form.cleaned_data['username']
        password = form.cleaned_data['password']
        first_name = form.cleaned_data['first_name']
        last_name = form.cleaned_data['last_name']
        email = form.cleaned_data['email']

        try:
            user = User.objects.create_user(username, email, password)
        except:
            return HttpResponse("That username is already taken. Please try a different one.")

        user.first_name = first_name
        user.last_name = last_name
        user.save()

        if bool(request.FILES.get('picture', False)):
            pic = request.FILES.get('picture')
            profile = Profile.objects.create(user=user)
            profile.picture = pic
            profile.save()
        else:
            user.delete()
            return HttpResponse("Please upload a profile picture.")

        user = authenticate(username=username, password=password)
        login(request, user)
        return redirect('home')

    else:
        return HttpResponse("The form you submitted was invalid. Please enter appropriate input.")

触发此视图的表单操作是:

<form action="app/new_user/" method="post" enctype="multipart/form-data">
python django apache url
1个回答
1
投票

我有同样的问题。我正在使用课堂观点,但我猜你可能有像我这样的问题。问题来自于我正在混合login_requiredensure_csrf_cookie指令,如下所示:

class JsonBase(generic.View):

    @method_decorator(login_required)
    @method_decorator(ensure_csrf_cookie)
    def get(self, request, *args, **kwargs):
        return JsonResponse({}, safe=False)

所以我想:如果用户没有连接,对于get方法,没关系它没关系,我只返回一个空的Json对象,在我的后代类中,如果我需要if request.user.is_authenticated: [blabla],我会进行比较。

所以这是我最后的工作“基础”Json视图:

class JsonBase(generic.View):

    @method_decorator(ensure_csrf_cookie)
    def get(self, request, *args, **kwargs):
        return JsonResponse({}, safe=False)

    @method_decorator(ensure_csrf_cookie)
    def post(self, request, *args, **kwargs):
        return JsonResponse({}, safe=False)
© www.soinside.com 2019 - 2024. All rights reserved.