【问题标题】:Django django-adminfilesDjango django-admin 文件
【发布时间】:2015-02-06 09:48:46
【问题描述】:
我正在使用 Django 创建博客,我需要在帖子中插入图片。据我所知,最好的包是django-adminfiles
安装指南很简单,但我不明白第三步(因为我的英语水平不好:S):
使 adminfiles/static/adminfiles 目录的内容在 STATIC_URL/adminfiles 可用。这可以通过您的网络服务器配置、通过 django.contrib.staticfiles 等应用程序或通过复制文件或创建符号链接来完成。
我已经运行了 colecstatic,将 adminfiles/static/adminfiles 的文件复制到我的静态目录中,但似乎没有任何效果。当我写一篇文章时,它应该出现在这个video 中,但图片缩略图和“所有上传图片”、“上传”、“刷新”.... 没有出现。
我对 Django 很陌生,我对这个愚蠢的问题有点迷茫。 ¿ 有人知道我在这里做什么吗?
【问题讨论】:
标签:
django
image
file
admin
blogs
【解决方案1】:
我的环境
- 操作系统:CentOS7_x86_64
- Python:2.7.5(必须是开发版)
- Django:1.8.1
步骤
-
安装
'adminfiles':
pip install django-adminfiles==1.0.1
'sorl-thumbnail':
pip install sorl-thumbnail==12.2
“枕头”的先决条件:
yum install libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel -y
'枕头':
pip install pillow==2.8.1
-
使用管理文件
我创建了一个名为“demo”的 django 项目,它只有一个应用程序“试用”。
演示
|
|----- 演示
| |---- __init__.py
| |---- 设置.py
| |---- urls.py
| |---- wsgi.py
|
|-------- 管理.py
|-----试用
|---- \aa___init__.py
|---- 管理员.py
|---- 模型.py
|---- 测试.py
|---- 视图.py
要在“演示”项目中使用管理文件,我们必须执行以下操作:
-
将“adminfiles”、“sorl.thumbnail”添加到 demo/settings.py 文件的 INSTALLED_APPS 元组。
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'管理文件',
'sorl.thumbnail',
'审判',
)
-
将 adminfiles url 添加到 demo/urls.py 文件的 urlatterns 列表中。
网址模式 = [
网址(r'^admin/',包括(admin.site.urls)),
url(r'^adminfiles/', include('adminfiles.urls')),
]
-
修改trial/admin.py文件的admin。
(注意:文章是在 trial/models.py 中定义的模型,它有一个名为'text'的TextField字段)
从 django.contrib 导入管理员
从模型导入文章
从 adminfiles.admin 导入 FilePickerAdmin
admin.site.register(文章)
类 ExtraAdmin(FilePickerAdmin):
adminfiles_fields = ('text',)
admin.site.register(Article, ExtraAdmin)
python manage.py 迁移
-
设置 MEDIA_URL 和 MEDIA_ROOT。
演示/settings.py:
MEDIA_URL = '/media/'
MEDIA_ROOT = '/data/media/'
演示/urls.py:
从 django.conf 导入设置
从 django.conf.urls.static 导入静态
网址模式 = [
网址(r'^admin/',包括(admin.site.urls)),
url(r'^adminfiles/', 包括('adminfiles.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
经过以上设置,上传的文件会存放在'/data/media/adminfiles/'目录中。