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