2013-07-23 3 views
1

현재 장고를 시험하고 공식 웹 사이트의 튜토리얼을 따라 앱을 만들고 있습니다. 내가 http://127.0.0.1:8000/ucode에 "안녕하세요, 세상을 테스트 URL을 확인하기 위해 서버를 실행하면Django urls.py 및 views.py 동작 -

def index(request): 
    return HttpResponse("Hello, world. You're at the poll index.") 

def redirect_to_index(request): 
    return HttpResponseRedirect('/ucode/') 

:

urlpatterns = patterns('', 
    (r'^/$','ulogin.views.index'), #why doesn't this work? 
    (r'^ucode/$', 'ulogin.views.index'), 
    (r'^ucode/(\d+)/$', 'ulogin.views.index'), 
) 

그리고 내 views.py는 다음과 같습니다처럼

그래서 내 urls.py 보인다. ..etc "제대로 작동하고 잘 작동합니다. 나는 urls.py를 망치고 있었지만 ulogin.views.index를 표시하려면 http://127.0.0.1:8000/을 얻는 방법을 모르겠습니다.

+1

에 대한 자세한 내용을보실 수 있습니다 무엇을합니까처럼 rool URL conf의 모습? 내 추측이 맞으면'(r '^ $', 'ulogin.views.index'), 작동해야한다 – karthikr

+0

OMG 나는 잘했다. – gersande

+0

karthikr 정말 고마워. – gersande

답변

2

첫째, 패턴이 있기 때문에 오류를

(r'^ucode/(\d+)/$', 'ulogin.views.index'), 

을 올릴 것 다음 URL을 일치하도록 노력하고,

(r'^/$','ulogin.views.index') 

는 또한

(r'^$','ulogin.views.index') 

이어야한다 일치하는 \d+을 매개 변수로 사용하는보기 메소드가 없습니다.

내가 추천 수정은 다음과 같습니다

(r'^ucode/(<?P<id>[\d]+)/$', 'ulogin.views.index'), 

다음

def index(request, id=None): 
    return HttpResponse("Hello, world. You're at the poll index.") 

당신이있어 named URL groups

+1

나는 그가 장고 투표 자습서를 통과하고 있다고 생각한다. 그는 아직 이름 붙여진 논쟁을하지 않았다. –

+0

나는 투표 자습서를 통해 갈 것입니다. 하지만 크게 도움을 주셔서 감사합니다! – gersande

+1

@gersande 유용 할 경우 자유롭게 대답을 받아들입니다. – karthikr

2

웹 서버의 루트가 django urls의 경우 빈 문자열 (예 : ^$)을 특징으로하기 때문에 작동하지 않습니다. 따라서 ^/$^$으로 변경하면됩니다. 모든

+0

정말 고마워요! – gersande

+1

@gersande : 행복한 사람을 돕기. –