2016-08-05 88 views
1

此视图的哪部分使我访问此URL,为什么无法访问?我从来没有见过它。我的开发机器上的一切都很好,现在我已经将它移到了Apache服务器上的生产环境中,我无法弄清楚如何解决这个错误。Django:在此服务器上未找到请求的URL /帐户/登录/

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"> 
+0

我认为这是'login'功能,但可能有人提供任何更深入的了解? – conjenks

+0

如果需要经过身份验证的用户,它可能是“家庭”网址。检查用户已正确创建,并且'authenticate'返回有效的用户。 – Rohan

+0

我有同样的问题!而且它似乎是随机的!我创建了一个Unity应用程序,如果我试图通过'@method_decorator(login_required)'获得我自己的“登录视图”,那么有时它会重定向到正确的视图='/ accounts/login /?next =/en/j/login',有时候它没有找到那个视图,我得到'Not Found:/ accounts/login /'这个消息。 –

回答

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) 
相关问题