Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.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
Python Django在数据库中看不到用户?_Python_Django_Django Models_Django Views_Django Generic Views - Fatal编程技术网

Python Django在数据库中看不到用户?

Python Django在数据库中看不到用户?,python,django,django-models,django-views,django-generic-views,Python,Django,Django Models,Django Views,Django Generic Views,我有一个数据库并启用了管理界面。当我进入管理界面并点击“用户”时,有一个用户的用户名是ayman。我正在学习一本名叫《Packt Publishing,使用Django学习网站开发》的书中的教程。现在,在我的url.py中,这就是我所拥有的 urlpatterns = patterns('', url(r'^admin/', include(admin.site.urls)), url(r'^$', main_page), url(r'^user/(\w+)/$', us

我有一个数据库并启用了管理界面。当我进入管理界面并点击“用户”时,有一个用户的用户名是ayman。我正在学习一本名叫《Packt Publishing,使用Django学习网站开发》的书中的教程。现在,在我的url.py中,这就是我所拥有的

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^$', main_page),
    url(r'^user/(\w+)/$', user_page), 
)
在my views.py中,这是我的用户页面

我正在使用通用用户视图来管理我的用户。当我走进候机楼做

$python manage.py shell

>>> from django.contrib.auth.models import User
>>> from bookmarks.models import *
>>> user = User.objects.get(id=1)
>>> user
<User: ayman>
>>> user.username
u'ayman'
py应该捕获ayman并将其作为参数传递给用户_页面,对吗?确实如此,但用户页面视图不断提出404错误,并表示找不到ayman。因此,user_页面中的username参数实际上是ayman,但它始终未能通过

user = User.objects.get(username=username)
即使ayman是我数据库中的用户名。知道为什么吗?

如果使用的是纯except子句,请尝试except User.DOESNOTEXTIST。bare except掩盖了真正的错误,即缺少的导入。顺便说一句,还有一个快捷方式:

from django.shortcuts import get_object_or_404
# ...
user = get_object_or_404(User, username=username)
第一个参数是模型或queryset,以下参数都作为关键字参数传递给queryset。get

如果使用的是纯except子句,请尝试except User.DOESNOTEXTIST。bare except掩盖了真正的错误,即缺少的导入。顺便说一句,还有一个快捷方式:

from django.shortcuts import get_object_or_404
# ...
user = get_object_or_404(User, username=username)

第一个参数是模型或queryset,以下参数都作为关键字参数传递给queryset.get

您使用的是一个简单的except。如果您将其更改为except User.DoesNotExist:,是否得到回溯?@sk1p它在/User/ayman/处给出一个名称错误,并表示未定义全局名称“User”。然后您需要从django.contrib.auth.models import users执行此操作。顺便说一句,这是一个教科书示例,说明了为什么不指定错误就不使用class@sk1p发现了,,所以他应该有这个荣誉:你使用的是一个简单的例外。如果您将其更改为except User.DoesNotExist:,是否得到回溯?@sk1p它在/User/ayman/处给出一个名称错误,并表示未定义全局名称“User”。然后您需要从django.contrib.auth.models import users执行此操作。顺便说一句,这是一个教科书示例,说明了为什么不指定错误就不使用class@sk1p发现了,,因此,他应该有这样的荣誉:
from django.shortcuts import get_object_or_404
# ...
user = get_object_or_404(User, username=username)