【问题标题】:Can't get django_markdown working on the admin site无法让 django_markdown 在管理站点上工作
【发布时间】:2015-07-07 12:45:05
【问题描述】:

我在Pythonanywhere 上有一个 Django 服务器,我正在处理一个对我来说太难的问题。在我的本地机器上,我创建了一个使用 django_markdown 的博客应用程序。 Markdown 编辑器在管理站点上正确显示。

但是,当我尝试在 Pythonanywhere 服务器上做同样的事情时,我无法在管理站点上显示降价编辑器。

这是我的文件:

url.py

from django.conf.urls import include, url
from django.contrib import admin
from . import settings

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^markdown/', include('django_markdown.urls')),
    url(r'^', include('blog.urls')),
]

if settings.DEBUG:
    from django.conf.urls.static import static
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

settings.py

...
INSTALLED_APPS = (
    ...      
    'django_markdown',
    ...
)
...
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, '/static/')

TEMPLATE_DIRS = (
    os.path.join(BASE_DIR, 'templates'),
)

MARKDOWN_EDITOR_SKIN = 'simple'

models.py

from django.db import models
from django_markdown.models import MarkdownField

class Article(models.Model):
    title = models.CharField(max_length=200)
    body = MarkdownField()
    created = models.DateTimeField(auto_now_add=True)
    modified = models.DateTimeField(auto_now=True)

    def __str__(self):
        return self.title

    class Meta:
        verbose_name = "Article"
        verbose_name_plural = "Articles"
        ordering = ["-created"]

admin.py

from django.contrib import admin
from . import models
from django_markdown.admin import MarkdownModelAdmin

class ArticleAdmin(MarkdownModelAdmin):
    list_display = ("title", "created")

admin.site.register(models.Article, ArticleAdmin)

收集统计数据。

【问题讨论】:

  • 快速检查-您确实安装了 django_markdown "pip" 对吗?

标签: python django markdown pythonanywhere


【解决方案1】:

如果您使用的是 Python 2.x,则需要将以下行添加到您的 ArticleAdmin 类中:

# Workaround for Python 2.x
formfield_overrides = {TextField: {'widget': AdminMarkdownWidget}}

请务必在开头添加以下导入:

from django_markdown.widgets import AdminMarkdownWidget

【讨论】:

  • 也不要忘记导入这个。 从 django.db.models 导入 TextField
猜你喜欢
  • 2012-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-09
  • 2011-05-04
相关资源
最近更新 更多