gpt4 book ai didi

Django 管理员 : Class Media

转载 作者:行者123 更新时间:2023-12-02 20:26:43 24 4
gpt4 key购买 nike

我有一个媒体类,如下

class helloAdmin(admin.ModelAdmin):
class Media:
js = ['choice.js']
admin.site.register(hello,helloAdmin)

staticfiles 应用将 STATIC_URL 添加到媒体路径之前。但我希望在前面添加 MEDIA_URL 而不是 STATIC_URL 并且 STATIC_URL 不为空。如何做到这一点?

最佳答案

您可以通过以下设置来实现:

import os
CURRENT_PATH = os.path.abspath((os.path.dirname(__file__)))

MEDIA_ROOT = os.path.join(CURRENT_PATH, 'uploads')

MEDIA_URL = '/site_media/'

urls.py

from django.conf import settings
urlpatterns += patterns('',
url(r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
)

admin.py

class helloAdmin(admin.ModelAdmin):
class Media:
js = ['/site_media/choice.js']
admin.site.register(hello,helloAdmin)

不建议使用MEDIA_URL来提供静态文件。根据 django 文档,当 STATIC_URL非空时,MEDIA_URL 将不会被引用为媒体文件。引用this part of documentation .

所以我建议您使用以下设置:

STATIC_ROOT = 'static/'

STATIC_URL = '/static/'

STATICFILES_DIRS = (
os.path.join(CURRENT_PATH, 'media'),
)

admin.py

class helloAdmin(admin.ModelAdmin):
class Media:
js = ['choice.js']
admin.site.register(hello,helloAdmin)

关于Django 管理员 : Class Media,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15086074/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com