我按照本源的指令让markdown2在模板标记中工作。代码在下面。
settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'wikiencyc',
'markdown2',
]注意:我尝试使用上面最初建议的'django_markdown2',但是Django服务器不会启动并给出由以下错误引发的一系列异常:
'<frozen importlib._bootstrap>'
from line 200 in Python38-32/lib/pathlib.py使用'markdown2'而不是'django_markdown2',服务器启动。
entry_detail.html
{% load md2 %}
<h4>{{ entry.subject }} </h4>
<br><br>
<p>
{{ entry.content|markdown:"safe" }}
</p>所以,我试着按照书做每一件事。我还确保了markdown2.py在前进的道路上。
我不知道他们把django_markdown2放在PYTHONPATH中是什么意思。在我的系统中不存在这样的环境变量。我试着创建said env变量并将django_markdown2的值放入其中,但仍然没有joy。
我使用Windows 7作为操作系统,Python版本3.8和Django版本3.0.8。下面是pip freeze的输出
asgiref==3.2.10
cachelib==0.1.1
click==7.1.2
Django==3.0.8
Flask==1.1.2
Flask-Session==0.3.2
itsdangerous==1.1.0
Jinja2==2.11.2
markdown2==2.3.9
MarkupSafe==1.1.1
Pillow==7.2.0
psycopg2-binary==2.8.5
pytz==2020.1
SQLAlchemy==1.3.18
sqlparse==0.3.1
Werkzeug==1.0.1我得到以下错误。
TemplateSyntaxError at /wikiencyc/entry/9
'md2' is not a registered tag library. Must be one of:
admin_list
admin_modify
admin_urls
cache
i18n
l10n
log
static
tz我做错了什么?请提供具体内容:要编辑的文件、要使用或导入的库、要键入的内容、确切的语法和位置。魔鬼就在细节里。
发布于 2020-09-07 14:42:51
我认为您并没有实际安装django-markdown2:它不会出现在您的pip freeze输出中。听起来您似乎已经尝试手动下载文件并修改您的PYTHONPATH,但是不应该需要这样做。
我希望您正在显式地定义您的依赖项,在这种情况下,您可以将django-markdown2添加到您的requirements.txt中并运行pip install -r requirements.txt。如果没有,请考虑开始这种做法。
如果您只想在当前环境中安装django-markdown2,请运行
pip install django-markdown2忘记手动下载任何东西或修改PYTHONPATH。
希望这是在虚拟环境中实现的。
然后,安装好库后,将settings.py更改为将django_markdown2包含在INSTALLED_APPS中而不是markdown2中。
发布于 2020-09-07 13:42:57
我想应该是
'django_markdown2',而不是
'markdown2',在settings.py中
将它添加到路径中是一样的。
https://stackoverflow.com/questions/63778675
复制相似问题