标签: django-media

从django 1.4转换为1.5错误

我做了完全相同的Django管理员datepicker日历和时钟img 和我遇到了同样的问题,但它与django 1.4工作完全正常,但当我更新到django 1.5它给了我这个错误

'adminmedia'不是有效的标记库:找不到模板库adminmedia,尝试过django.templatetags.adminmedia,django.contrib.staticfiles.templatetags.adminmedia,django.contrib.admin.templatetags.adminmedia,django.contrib.humanize.templatetags .adminmedia,jobpost.templatetags.adminmedia,crispy_forms.templatetags.adminmedia,tinymce.templatetags.adminmedia,haystack.templatetags.adminmedia

这是我的代码:

{% load adminmedia %}


{% load i18n %}
{% load crispy_forms_tags %} 
{% block content %}

<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="/my_admin/jsi18n/"></script>
<script type="text/javascript" src="/media/admin/js/core.js"></script>
{{ form.media }}
<link rel="stylesheet" type="text/css" href="/static/admin/css/forms.css"/>
<link rel="stylesheet" type="text/css" href="/static/admin/css/base.css"/>
<link rel="stylesheet" type="text/css" href="/static/admin/css/global.css"/>
<link rel="stylesheet" type="text/css" href="/static/admin/css/widgets.css"/>

<script type="text/javascript" src="/admin/jsi18n/"></script>
<script type="text/javascript" src="/static/admin/js/core.js"></script>
<script type="text/javascript" src="/static/admin/js/admin/RelatedObjectLookups.js">      </script>
<script type="text/javascript" src="/static/admin/js/jquery.js"></script>
<script type="text/javascript" src="/static/admin/js/jquery.init.js"></script>
<script type="text/javascript" src="/static/admin/js/actions.js"></script>
<script type="text/javascript" src="/static/admin/js/calendar.js"></script> …
Run Code Online (Sandbox Code Playgroud)

django django-templates django-media

5
推荐指数
1
解决办法
2873
查看次数

S3Boto存储和单元测试

我在 Django 项目中使用了storages.backends.s3boto.S3BotoStoragefor my 。DEFAULT_FILE_STORAGE

理想情况下,我想FileSystemStorage在单元测试期间使用默认值,或者创建一个临时存储桶,在测试结束时将其删除。

实现这一目标的最佳方法是什么?

django boto django-testing django-media django-storage

5
推荐指数
1
解决办法
2311
查看次数

在 django 中设置多个 MEDIA_URL 和 MEDIA_ROOT

我在 django 应用程序中设置了静态和媒体根以及 url,如下所示:

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

MEDIA_URL = '/crl/'
MEDIA_ROOT  = os.path.join(BASE_DIR, 'config/crl/')
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但我想添加另一个 MEDIA_URL 和 MEDIA_ROOT 来提供/certs/目录中的文件,如下所示:

NEW_MEDIA_URL = '/certs/'
NEW_MEDIA_ROOT  = os.path.join(BASE_DIR, 'config/certs/')
Run Code Online (Sandbox Code Playgroud)

有什么办法可以做到吗?我正在使用 Django 2.0.6 和 Python 3.5

django django-templates django-models django-views django-media

5
推荐指数
1
解决办法
4296
查看次数

仅使用gunicorn、django 和whitenoise 如何为媒体提供服务?

我的网站终于可以正常工作了,但媒体文件未提供服务,debug = False我该怎么办?我按照本教程尝试让它与 nginx 一起工作,但它不断损坏并且不提供静态服务等,所以我选择了纯gunicorn和whitenoise。我真的不是部署专家,只是开发专家。请帮忙。媒体文件的安全性不是问题,因为只有管理员才能上传它们,而最终用户则不能。具体来说,我需要知道是否是世界末日debug = True只留下媒体文件。或者是否有一种简单的方法可以为他们提供服务debug = False

django nginx django-media gunicorn

5
推荐指数
1
解决办法
2493
查看次数

Django和Nginx X-accel-redirect

到目前为止,我一直在摸索尝试保护Django的媒体文件而没有运气!我只是想让只有管理员用户才能访问媒体文件夹的地方。这是我的Nginx文件。

server {
    listen 80;
    server_name xxxxxxxxxx;

    location = /favicon.ico {access_log off; log_not_found off;}
    location /static/ {
          alias /home/{site-name}/static_cdn/;
   }
   location /media/ {
          internal;
          root /home/{site-name}/;
   }

   location / {
this is setup and working. Didn't include Code though

}
Run Code Online (Sandbox Code Playgroud)

我的网址文件

urlpatterns = [
    url(r'^media/', views.protectedMedia, name="protect_media"),
] 
Run Code Online (Sandbox Code Playgroud)

我的看法

def protectedMedia(request):

    if request.user.is_staff:
        response = HttpResponse()
        response['Content-Type'] = ''
        response['X-Accel-Redirect'] = request.path
        return response

    else:
        return HttpResponse(status=400)
Run Code Online (Sandbox Code Playgroud)

这将产生404 Not Found Nginx错误。这里有什么公然的错误吗?谢谢!

顺便说一句,我尝试在Nginx设置的根URL末尾添加/ media /。

django ubuntu nginx sendfile django-media

3
推荐指数
2
解决办法
1855
查看次数

Django - serve() 得到了一个意外的关键字参数“documuent_root”

我正在尝试为 DRF 设置媒体文件路径/图像,但它不起作用,我无法弄清楚原因。

我收到此错误:

在此处输入图片说明

serve() got an unexpected keyword argument 'documuent_root'
Run Code Online (Sandbox Code Playgroud)

我在 mac 上运行 django 1.11 DRF w/python 3.6。

我已经将设置 url 移动到顶级,为什么通过这个链接的方式所以我更近了一步,尽管我仍然无法弄清楚为什么我的链接在我点击它们时显示 404。

设置.py

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'src')

STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

CORS_ORIGIN_WHITELIST = 'localhost:3000', #whitelists the localhost to run
Run Code Online (Sandbox Code Playgroud)

视图.py

from accounts.api.permissions import IsOwnerOrReadOnly
from rest_framework import generics, mixins, permissions, viewsets
from books.models import Books
from books.api.serializers import BooksSerializer


class BookViewSet(viewsets.ModelViewSet):
    permission_classes      = [permissions.IsAuthenticatedOrReadOnly, IsOwnerOrReadOnly]    # authentication_classes  = []
    serializer_class        = …
Run Code Online (Sandbox Code Playgroud)

django django-urls django-views django-media django-rest-framework

2
推荐指数
1
解决办法
1502
查看次数

Django中图片的动态文件路径

我正在尝试在Django中生成动态文件路径。我想制作一个像这样的文件系统

hierarchy:
Run Code Online (Sandbox Code Playgroud)
 --user_12
  --channel_14
   --program 2
    --image1.jpg
    --image2.jpg
   --program 1
    --image1.jpg
    --image2.jpg
 --user_14
  --channel_13
   --program 1
    --image1.jpg
    --image2.jpg
Run Code Online (Sandbox Code Playgroud)

当用户要上传图片时,会将图片上传到相应的程序文件夹。如果没有创建程序文件夹,则会自动创建一个文件夹并存储图片。

我的图像路径将如下所示:media / images / john / johnchannel / birthday / img1.jpg(其中john = user,johnchannel = channel,birthday = program,images是应存储所有图像文件的预创建文件夹)在django中是非常新的。需要紧急帮助。

django django-media

1
推荐指数
1
解决办法
1616
查看次数

django media_root 不工作

我正在使用 django 1.6

在我的设置中有这个,效果很好,

STATICFILES_DIRS = (

    os.path.join(BASE_DIR, 'static/'),

)
Run Code Online (Sandbox Code Playgroud)

但当我添加:`MEDIA_ROOT = os.path.join(BASE_DIR, 'media/'),

渲染模板时出现错误:

'tuple' does not support the buffer interface
Run Code Online (Sandbox Code Playgroud)

问题代码: <link href=" {% static 'bootstrap/css/bootstrap.min.css' %} " rel="stylesheet">

这两种设置之间是否存在某种冲突?我想做的就是为用户上传的文件提供服务,我应该将upload_to设置更改为静态目录吗?

有谁以前经历过这个或知道可能是什么问题

感谢任何帮助,谢谢

django django-settings django-media django-staticfiles

1
推荐指数
1
解决办法
1939
查看次数

如果我检查settings.DEBUG,Django不提供媒体文件

这正确地提供了媒体文件:

urlpatterns = [
...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Run Code Online (Sandbox Code Playgroud)

这不提供媒体文件:

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [ ... ] 

if settings.DEBUG:
    urlpatterns + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Run Code Online (Sandbox Code Playgroud)

文件写道:"这是不适合生产使用!",所以这就是为什么我需要的方式提供服务的媒体文件之前检查DEBUG.我怎样才能做到这一点.为什么这种方法不起作用?

django django-media

1
推荐指数
1
解决办法
1336
查看次数

Django:在基于类的视图中包含媒体(css/js)

我正在将基于方法的视图中的旧django代码更新为基于类的视图.

我知道如何通过Media类在表单中包含媒体(css/js)

如果我的基于类的视图不包含任何表单,我如何使用媒体类?

django django-class-based-views django-media

1
推荐指数
1
解决办法
1197
查看次数

Django 媒体文件未找到 404

我有一个 Django 博客应用程序,其中在发布博客时,也可以附加并提交文件。

这是views.py代码:

   def user_own_blog(request):
       if request.method == 'POST' and request.FILES['blog_document']:
            title_b = request.POST.get('blog_title')
            content_b = request.POST.get('blog_content')

            file1 = request.FILES['blog_document']
            fs = FileSystemStorage()
            document_name = fs.save(file1.name, file1)
            uploaded_document_url = fs.url(document_name)

            b = Blog(title=title_b, content=content_b, blog_document=uploaded_document_url)

            b.save()

            return render(request, 'mysite/portfolio.html')
      else:
            return render(request, 'mysite/blog.html')
Run Code Online (Sandbox Code Playgroud)

这是 MEDIA_ROOT 和 MEDIA_URL 路径名:

     STATIC_URL = '/static/'
     MEDIA_URL = '/media/'
     MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
Run Code Online (Sandbox Code Playgroud)

以下是 mysite 应用程序中 urls.py 的代码:

        urlpatterns=[ .....
        ......
        ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Run Code Online (Sandbox Code Playgroud)

这是项目结构,其中我需要将媒体文件夹直接存在于Assignment1项目下

在此输入图像描述

当文件上传成功时,它在 /api 中显示如下。

但是正在创建两个媒体路径: /media/media ,如下所示: 我无法找到我可能创建的重复字段。

在此输入图像描述

单击文件链接时:出现 …

django django-models django-media

1
推荐指数
1
解决办法
6158
查看次数

Django MEDIA_URL 返回 https 而不是 http

我正在使用Django 2.2.xDRF

我有一个带有FileField的模型

file = models.FileField(upload_to=get_media_upload_path)
Run Code Online (Sandbox Code Playgroud)

文件正在上传,但在访问时obj.file,它给出了没有的 URLHTTPS

http://example.com/media/image.jpg
Run Code Online (Sandbox Code Playgroud)

我希望它是

https://example.com/media/image.png
Run Code Online (Sandbox Code Playgroud)

重定向已在nginx配置中设置。但我想要带有https.

设置

MEDIA_URL = '/media_/'
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'static_cdn', 'media_root')
Run Code Online (Sandbox Code Playgroud)

django django-media

1
推荐指数
1
解决办法
983
查看次数

Django的.找不到媒体文件

好的,我有一个Django 1.10项目.相关设置如下所示:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
MEDIA_ROOT = BASE_DIR + "/media/"
MEDIA_URL = '/media/'
Run Code Online (Sandbox Code Playgroud)

我在本地工作,我可以正确上传图片.但是当我尝试使用模板访问模板时{{ image.image.url }},我得到了404.在终端中我可以看到:

[06/Sep/2016 18:13:43] "GET /media/folder/uploaded_image.jpg HTTP/1.1" 404 4900
Run Code Online (Sandbox Code Playgroud)

但是,如果我查看我的文件夹,文件就在那里,由django正确上传.

django django-media

0
推荐指数
1
解决办法
2574
查看次数