Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django和apache:禁止追踪403_Django_Apache_Http Status Code 403_Traceback - Fatal编程技术网

django和apache:禁止追踪403

django和apache:禁止追踪403,django,apache,http-status-code-403,traceback,Django,Apache,Http Status Code 403,Traceback,我正在用Django和apache开发一个web应用程序。 我可以访问主页,但当我登录时,我会被禁止403。 我在哪里可以得到错误的回溯,以便解决问题 我在本地开发,所以我设置了DEBUG=True。 以下是我在apache日志中看到的内容: [Tue Mar 24 14:12:13.230364 2015] [mpm_event:notice] [pid 3738:tid 139683667068800] AH00493: SIGUSR1 received. Doing graceful r

我正在用Django和apache开发一个web应用程序。 我可以访问主页,但当我登录时,我会被禁止
403
。 我在哪里可以得到错误的回溯,以便解决问题

我在本地开发,所以我设置了
DEBUG=True
。 以下是我在apache日志中看到的内容:

[Tue Mar 24 14:12:13.230364 2015] [mpm_event:notice] [pid 3738:tid 139683667068800] AH00493: SIGUSR1 received.  Doing graceful restart
[Tue Mar 24 14:12:13.338989 2015] [mpm_event:notice] [pid 3738:tid 139683667068800] AH00489: Apache/2.4.7 (Ubuntu) OpenSSL/1.0.1f mod_wsgi/3.4 Python/2.7.6 configured -- resuming normal operations
[Tue Mar 24 14:12:13.339010 2015] [core:notice] [pid 3738:tid 139683667068800] AH00094: Command line: '/usr/sbin/apache2'
没有错误的痕迹

编辑: 这似乎不是apache错误,我在使用django本地服务器时遇到了同样的问题:

24/Mar/2015 15:51:28] "POST /accounts/participant_login/?next=/participants/ HTTP/1.1" 200 6286
[24/Mar/2015 15:51:41] "POST /accounts/participant_login/?next=/participants/ HTTP/1.1" 302 0
[24/Mar/2015 15:51:41] "GET /participants/ HTTP/1.1" 403 22

默认情况下,您可以在
/var/log/apache2/error.log
下检查错误。另一个(不太推荐的)解决方案是将
DEBUG
变量设置为
True

您应该使用try/except并记录异常以捕获未报告的错误。无论如何,如果您在尝试登录时出现此错误,在我看来,您的表单没有csrf令牌,并且您有一个被禁止的请求。我在视图中使用了一个日志,它没有被调用。我不认为它与csrf令牌有关,它在生产服务器上运行良好,我没有更改代码,只是更新了settings.py和apache配置文件。您是否在本地使用sqlite数据库,在生产服务器上使用MySql/Postgres?如果是这样,您希望授予“www数据”在数据库中写入的权限。如果以上都没有,我建议您使用Pycharm编辑器(或任何带有调试器的编辑器),并在本地运行时使用其惊人的调试工具,在Apache本地测试它并将其传递给生产部门。否则,您最终会遇到很多这样的问题。当您运行开发服务器而不是Apache时,登录是否有效?它在生产服务器上运行良好,但在我的本地服务器(使用Apache)上运行不好。我没有更改代码,只是更新了settings.py和apache配置文件。我在使用django服务器时也遇到了同样的问题!:(哈哈,我想我从来没有在开发服务器上遇到过这个问题。你在什么地方有一个
raisepermissiondenied()
吗?你是想和一个超级用户登录,还是仅仅和一个员工登录?你是对的!我有一个
PermissionDenied
用户不是活动的(为了测试,我刚刚在数据库中停用了他的帐户).解决了!谢谢。