Joonas' Note

Joonas' Note

Django - 405 Method Not Allowed 본문

개발/python

Django - 405 Method Not Allowed

2017. 11. 17. 22:23 joonas

    Django에서 405 에러를 만났다.

    ... \n    </form>\\n\\n    <div cl\'>, <django.template.defaulttags.URLNode object at 0x7f060a892588>, <TextNode: \'" style="margin-top: 1em;\'>, <django.template.defaulttags.URLNode object at 0x7f060a8924a8>, <TextNode: \'" style="margin-top: 1em;\'>]>}]'


    Method Not Allowed (POST): /accounts/login/


    한참을 삽질하다가 결국 git으로 2~3시간 정도 개발한 것을 전부 되돌렸는데 (너무 꼬여서..) 여전히 405 에러가 나는 것이다!

    갑자기 "설마 이건가"하는 생각에 URLconf를 확인해보았고, 아래와 같았다.

    ...

    ^accounts/ ^$ [name='index']

    ^accounts/ ^login/$ [name='login']

    ^accounts/ ^logout/$

    ^accounts/ ^login/$ [name='login']

    ^accounts/ ^logout/$ [name='logout']

    ...


    중복된 url을 가지고 있어서 405 Method Not Allowed 오류가 난 것이었다. 기본적으로 제공되는 로그인을 덮어쓰려다가 한 실수.


    중복된 URL pattern을 만드는 urls.py를 찾아서 중복을 제거하면 해결된다.

    Comments