2017-03-28 4 views
0

모든 가져 오기가 완료되었다고 가정합니다. 과 같이 URL에ValueError가 16 진수 UUID 문자열 django를 잘못 형성했습니다. ListView

class PackageList(ListView): 
    model = Package 
    template_name = 'package/list.html' 

모두 : 나는 ListView과 같이 일반적인 사용하려면 다음

class Package(models.Model): 
    uuid = models.UUIDField(default=uuid.uuid4, editable=False) 
    name = models.CharField(max_length=400) 

:

나는 이런 모델이

url(r'^package/list/$', views.PackageList.as_view(), name='package_list'), 

I을 localhost:8000을 방문하십시오. ValueError at /package/list/ badly formed hexadecimal UUID string

그러나 DetailView 일반보기는 uuid을 기반으로 세부 사항을 아무런 문제없이 성공적으로로드합니다.

ListView을 사용할 때만 오류가 발생합니다.

내가 뭘 잘못하고 있니?

+0

우선 먼저, 당신의 URL을 말한다'/ 패키지/목록 /',하지만 귀하의 질문에 당신이 언급 한':

url(r'^travel/add/$', views.TravelAdd.as_view(), name='travel_add'), url(r'^travel/list/$', views.TravelList.as_view(), name='travel_list'), url(r'^travel/(?P<uuid>[\w-]+)/$', views.TravelDetail.as_view(), name='travel_detail'), 

를 이전에는이 ​​있었다/여행/목록 /'. 올바른 URL로 이동 하시겠습니까? – kaveh

+0

@kaveh 지금 수정되었습니다. 질문에 오타가 있었습니까 – Rexford

+0

이 사건과 관련이 있습니까? http://stackoverflow.com/questions/32445546/django-uuidfield-modelfield-causes-error-in-django-admin-badly-formed-hexadecim – kaveh

답변

0

나타 내기.

URL 시퀀스가 ​​원인입니다. 순서이 방법은 그것을 고정 갖는

url(r'^travel/add/$', views.TravelAdd.as_view(), name='travel_add'), 
url(r'^travel/(?P<uuid>[\w-]+)/$', views.TravelDetail.as_view(), name='travel_detail'), 
url(r'^travel/list/$', views.TravelList.as_view(), name='travel_list'), 
+1

맞아,'list'는 그 정규 표현식과 일치합니다. 걱정할 필요가 없으면'(? P [a-f0-9] {8} - [a-f0-9] {4} -...)/$'와 같이 더 엄격해질 수 있습니다. 미래. –