2013-06-20 3 views
0

저는 장고에 대해 처음이므로 고급 django URL 개념을 알지 못합니다. 그래서 다음은 장고 URL에 가능한지 아닌지 알고 싶습니다.Django는 객체 또는 사전을 허용합니다.

나는 위의 HREF

url(r'^mycart/(?P<val.price>\d+)/$', 'cartList') 

을 위해 아래의 URL을 사용

<a href="/product/mycart/{{val.price}}"> 

나의 첫번째 질문은

, 내 장고 템플릿에서

내가이 URL을 호출하고,하지만 그것은을 보여줍니다 오류 아래에서

error at /product/list/ 

bad character in group name 

내 두 번째 질문은 내가이 URL을 아래

<a class="add_to_cart" href="/product/mycart/{{val}}" title="Product Cart">Add To Cart</a> 

내가 위의 HREF

url(r'^mycart/(?P<val>\d+)/$', 'cartList') 

을 위해 아래의 URL을 사용

val.price=some value 

val.id=some value 

val.hieght=some value 

지금 스피 호출 한 다음 한 내 장고 템플릿에 아래의 오류를 보여줍니다.

Page not found (404) 

밖으로 나 이러한 문제 도와주세요 ..... 첫 번째 질문에 대한

답변

2

당신은 더 나은 귀하의 URL을 이름 :

url(r'^mycart/(?P<val.price>\d+)/$', 'cartList', name="cart_list) 

그런 다음 템플릿에 사용할 수

<a href="{% url cart_list val.price %}"> 


귀하의 두 번째 질문에 대한

두 URL은 내게 같아 보이는 내 추측은 장고는의 차이를 볼 수 없다는 것입니다. 다른 URL을 사용해보세요

+0

안녕하세요 Ghyllebert, 나는 당신의 코드 위에 사용했지만 여전히 같은 오류, 그룹 이름에 나쁜 문자를 보여줍니다. 문제는 val.price에서 발생합니다. 나는 우리가 URL에 점 (.)을 사용할 수 없다고 생각한다. – Sakeer

0

정확히 val.price을 URL 패턴 자체에 넣으려고합니까? 그건 말이 안돼. 명명 된 그룹 안에있는 것은 뷰로 전달되는 매개 변수입니다. 유효한 파이썬 변수 식별자를 사용해야합니다. 파이썬에서 함수를 def cart_list(request, val.price)으로 정의 할 수 없으므로 URL conf에 사용할 수 없습니다. 왜 price을 사용할 수 없습니까?

두 번째 질문도 의미가 없습니다. 정확히 val 개체를 보내기 위해 브라우저에 입력 한 URL은 무엇입니까? URL 패턴은 실제 URL로 해석되어야합니다.

실제로 무엇을하려고 하는지를 아는 것은 불가능하지만, 아마도 개체의 데이터베이스 ID를 전달하려고합니까? 그런 다음 수신 뷰는 ID로 개체를 조회하고 가격을 추출하여 장바구니에 추가 할 수 있습니다.

+0

안녕 다니엘. 내가 장고 템플릿에서 내 URL을 부르고 있음을 주목하라. 따라서 템플릿에서 매개 변수를 전달하는 데 사용 된 변수는 URL에서만 허용됩니다. 그래서 나는 url과 django 템플릿 모두에서 같은 변수를 사용해야한다. 그게 내게 문제가되지 않았습니다 무슨 일이 함수 정의에서 일어나는. 제 질문을 다시 한번 시도하십시오 ...... – Sakeer

+1

아니요, 이것에 관해 논리적으로 생각할 필요가 있습니다. "URL과 Django 템플릿 모두에서 동일한 변수"를 사용할 필요가 없습니다. 물론 그렇지 않습니다. URL과 뷰에서 동일한 이름을 사용해야합니다. 그러나 템플릿에서''와 같이하고 URLconf는'r '^ mycart/(? P \ d +)입니다./$ ''. –

관련 문제