데이터베이스가 있고 관리자 인터페이스가 활성화되어 있습니다. 관리자 인터페이스로 가서 '사용자'를 클릭하면 사용자 이름이 ayman
인 사용자가 있습니다. 나는 'Packt Publishing, Django로 웹 사이트 개발 학습하기'라는 책에서 한 튜토리얼을 수행하고 있습니다. 자, 내 urls.py
에서 이것이 내가 가진 것입니다. 내 views.py
에서장고에 데이터베이스의 사용자가 표시되지 않습니까?
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^$', main_page),
url(r'^user/(\w+)/$', user_page),
)
, 이쪽은 내 user_page
def user_page(request, username):
try:
user = User.objects.get(username=username)
except:
raise Http404(username +' not found.')
bookmarks = user.bookmark_set.all()
variables = {
'username': username,
'bookmarks': bookmarks
}
return render(request, 'user_page.html', variables)
내 사용자를 관리하는 일반 User
보기를 사용하고 있습니다. 내가 터미널로 가서
$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'
을 수행 할 때 사용자 이름 ayman
합니까이 존재한다. 이제 URL과 user_page
보기로 돌아갑니다. 내 웹 브라우저에서, 나는 오른쪽 ayman
을 캡처하고 user_page
에 매개 변수로 전달해야
127.0.0.1/user/ayman/
urls.py
에 갔다? 그렇지만 user_page
보기는 404 오류를 계속 발생시키고 ayman not found
라고 표시합니다. 그래서 user_page
의 username
매개 변수는 사실 ayman
에 있지만 심지어 ayman
비록
user = User.objects.get(username=username)
내 데이터베이스의 이름입니다 실패 유지합니다. 왜 그런가?
에 키워드 인수로 전달됩니다 다음이 바로 가기는이를 위해도. 당신이'except User.DoesNotExist :'로 변경하면, 추적을 얻습니까? – sk1p
@ sk1p 그것은/user/ayman /에 NameError를주고 전역 이름 'User'가 정의되지 않았다고 말합니다. – user2817200
그럼''django.contrib.auth.models import users '에서해야합니다. –