2012-09-02 6 views
0

블로그에 Markdown 구문이 필요했습니다. 나는 python-markdown2 library을 사용하기로 결정했다. TDD 프로세스를 따라 Markdown 라이브러리를 가져온 테스트를 만들었고 작동했습니다. 그렇다면 모든 테스트가 통과 할 수 있도록 일부 출력을 변환해야했습니다. 저는 이것이 프레젠테이션 로직과 같다고 생각합니다. 그래서 라이브러리를 가져오고 싶은 템플리트 태그를 만들었습니다. 문제는 그 라이브러리를 가져올 수 없다는 것입니다! 몇 시간 동안 디버깅을했는데 이유를 찾을 수 없습니다.템플릿 태그에서 Markdown2 가져 오기

몇 가지 사실 :

  1. 그것은 전에 tests.py 수입 것 (그래서 존재), 외부 라이브러리를 사용하지 않고
  2. 는, 템플릿 태그가 잘 작동;

정확한 오류 메시지 : 여기

TemplateSyntaxError at /article/1/foo-bar/ 
'cheese' is not a valid tag library: ImportError raised loading blog.templatetags.cheese: cannot import name markdown 

templatetags/cheese.py :

{% load cheese %} 

추신 :

from django import template 
import markdown2 

register = template.Library() 


@register.filter 
def eggs(value): 
    return value 

여기 템플릿입니다 필요한 경우 full errorall code. cheese 파일이 import markdown2을 수행 할 때 가져 markdown2.py라는 templatetags 디렉토리에 파일이 :

+0

대화 형 셸에서 '치즈 가져 오기'를 시도하면 어떻게됩니까? – Claudiu

+0

@Claudiu https://gist.github.com/3600016 – daGrevis

+0

추적 표시를 붙여 넣을 때 먼저 "잘라 내기 및 붙여 넣기 모드로 전환"을 클릭하면 내용을 훨씬 쉽게 읽을 수 있습니다. –

답변

1

역 추적은 GitHub의의의 repo에없는 무언가를 보여줍니다. 이 파일을 제거하면 올바른 파일을 찾아야합니다.

+0

예, _templatetags_ dir에는 로컬에서만 일부 휴지통 파일이 있습니다. 지적 해 주셔서 감사합니다! – daGrevis

0
콘솔에서

, 당신의 VIRTUALENV 프로젝트의 디렉토리에서 활성화 가지고, 시도 : 같은 문제가 발생, 저를 도와

pip install markdown2 

.

pip freeze 

markdown2가 실제로 설치되지 않았는지, PyCharm에 표시되었다고 생각했는지 확인했습니다.

관련 문제