django实现后台显示媒体文件

1、在全局settings文件中配置

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

2、 在全局的urls文件中:

from MxShop.settings import MEDIA_ROOT #导 入配置文件中的配置
from django.views.static import serve

urlpatterns = [

 url(r'^media/(?P<path>.*)$', serve, {"document_root": MEDIA_ROOT}),

]

这样在后台上传媒体文件就能显示出来。

补充知识:pycharm中用pyinstaller 打包生成 .exe时出现typeerror:expected str,bytes or os.path,not None type解决方法

系统:win10 64位

错误提示如下:

Traceback (most recent call last):
 File "C:\Users\user\Desktop\untitled1\venv\Scripts\pyinstaller-script.py", line 11, in <module>
 load_entry_point('PyInstaller==3.4', 'console_scripts', 'pyinstaller')()
 File "C:\Users\user\Desktop\untitled1\venv\lib\site-packages\PyInstaller\__main__.py", line 111, in run
 run_build(pyi_config, spec_file, **vars(args))
 File "C:\Users\user\Desktop\untitled1\venv\lib\site-packages\PyInstaller\__main__.py", line 63, in run_build
 PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
 File "C:\Users\user\Desktop\untitled1\venv\lib\site- packages\PyInstaller\building\build_main.py", line 838, in main
 build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
 File "C:\Users\user\Desktop\untitled1\venv\lib\site- packages\PyInstaller\building\build_main.py", line 784, in build
 exec(text, spec_namespace)
 File "<string>", line 29, in <module>
 File "C:\Users\user\Desktop\untitled1\venv\lib\site-packages\PyInstaller\building\api.py", line 424, in __init__
 strip_binaries=self.strip, upx_binaries=self.upx,
 File "C:\Users\user\Desktop\untitled1\venv\lib\site-packages\PyInstaller\building\api.py", line 196, in __init__
 self.__postinit__()
 File "C:\Users\user\Desktop\untitled1\venv\lib\site-packages\PyInstaller\building\datastruct.py", line 158, in __postinit__
 self.assemble()
 File "C:\Users\user\Desktop\untitled1\venv\lib\site-packages\PyInstaller\building\api.py", line 273, in assemble
 pylib_name = os.path.basename(bindepend.get_python_library_path())
 File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\ntpath.py", line 214, in basename
 return split(p)[1]
 File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\ntpath.py", line 183, in split
 p = os.fspath(p) TypeError: expected str, bytes or os.PathLike object, not NoneType

解决方法:

在github这个页面上https://github.com/Loran425/pyinstaller/tree/14b6e65642e4b07a4358bab278019a48dedf7460

下载所有文件,解压后找到文件夹PyInstaller里的bindepend.py文件,然后copy替换C:\xxx\venv\Lib\site-packages\PyInstaller\depend里的bindepend.py,其中xxx为你自己电脑上的路径,不同的个人电脑路径可能不太一样。

然后在pycharm Terminal 运行命令:pyinstaller -F xx.py即可。xx为python文件名。

以上这篇django实现后台显示媒体文件就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 解决django的template中如果无法引用MEDIA_URL问题

    配置如下 TEMPLATES = [ 下面 'context_processors': [ 中添加 'django.core.context_processors.media', 会把MEDIA_URL 配置在template中 这样在template下面 就可以引用MEDIA_URL了 补充知识:在django中使用 MEDIA_URL 和 MEDIA_ROOT 在django上传图片前端使用动态的配置方法 MEDIA_ROOT 代表着 要上传的路径会和你在models中写的上传的路径进行拼节

  • Python3之外部文件调用Django程序操作model等文件实现方式

    我就废话不多说啦,还是直接看代码吧! import os import sys import django sys.path.append(r'C:\Users\Administrator\PycharmProjects\your projectname') os.chdir(r'C:\Users\Administrator\PycharmProjects\your projectname') os.environ.setdefault("DJANGO_SETTINGS_MODULE"

  • Django {{ MEDIA_URL }}无法显示图片的解决方式

    django模板使用media文件夹,想要在前端通过{{ MEDIA_URL }}无法显示图片,没有取到Media_url的值 解决办法: TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')] , 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [

  • 解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了

    1.今天网上下载一个博客项目,发现本地访问,js,css加载不了. 我想应该是项目上线的安全措施,但是我想调试项目.找到方法如下 在settings.py里面编辑 添加 STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'), ) 另外把 STATIC_ROOT = os.path.join(BASE_DIR, 'static') 改为 STATIC_ROOT = os.path.join(BASE_DIR, 'static1') 即这里面的s

  • django实现后台显示媒体文件

    1.在全局settings文件中配置 ``` MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 2. 在全局的urls文件中: from MxShop.settings import MEDIA_ROOT #导 入配置文件中的配置 from django.views.static import serve urlpatterns = [ url(r'^media/(?P<path>.*)$', serve, {

  • Django 实现admin后台显示图片缩略图的例子

    直接上代码 定义一个upload_img来返回显示图片的html 定义显示图片说明和allow_tags mark_safe方法于django.utils.safestring导入 from django.utils.safestring import mark_safe from django.contrib import admin @admin.register(AliOSSFile) class AliOssUploadAdmin(admin.ModelAdmin): def uploa

  • WordPress中给媒体文件添加分类和标签的PHP功能实现

    从WordPress后台媒体库上传的媒体文件,不像文章那样可以给它指定分类和标签,但是很多时候我们又需要这样的功能,如一些下载站.图片站等. 媒体编辑页面的原始状态 很明显,在WordPress后台的媒体编辑页面,默认情况下是没有分类和标签给你选的. 给媒体文件添加分类 在当前主题的functions.php中添加以下php代码: function ludou_add_categories_to_attachments() { register_taxonomy_for_object_type(

  • Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式

    Django自带有个强大的后天管理系统,接下来我就给大家介绍一下x的admin一些强大的操作及后台美化. 首先给大家介绍一些xadmin的注册创建,首先下载官方xadmin插件包放到对应的第三方apps_extra文件夹中 接下来就是在setting中注册xadmin和crispy_forms到INSTALLED_APPS,接下来就是在我们的urls.py文件中配置路由 import xadmin urlpatterns = [ """ url(r'^xadmin/', xa

  • python 运用Django 开发后台接口的实例

    1 安装Django python -m pip install django 2 新建项目 my_api django-admin startproject my_api 自动生成 my_api文件夹 3 在子文件夹my_api 下新建视图文件 views.py # -*- coding: utf-8 -*- from django.http import JsonResponse from django.views.decorators.csrf import csrf_exempt @cs

  • 如何在Django项目中引入静态文件

    今天继续学习Django,今天主要掌握两个小点 一.如果为Django项目中引入静态文件 1.先要在project目录下创建static的目录,然后将jquery文件拷贝这个目录下就可以了 2.在project的settings文件中静态文件的路径,注意,这里的逗号千万不可省略,不然Django会报错的 3.在html文件就可以引入这个jquery文件了 二.下面我们学习下如何前台提交数据到后台 1.先在html文件中写一个form表单,用来提交数据,我们就提交db这个url中,用post的方式

  • Django项目后台不挂断运行的方法

    方法一: 1.进入项目目录下,运行下面程序: nohup python manage.py runserver 0.0.0.0:5008 & nohup(no hang up)用途:不挂断的运行命令 &用途:在后台运行 nohup /root/start.sh & 在shell中回车后提示: [~]$ appending output to nohup.out 原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用. 注意:在nohup执行成功后直接点

  • java后台批量下载文件并压缩成zip下载的方法

    本文实例为大家分享了java后台批量下载文件并压缩成zip下载的具体代码,供大家参考,具体内容如下 因项目需要,将服务器上的图片文件压缩打包zip,下载到本地桌面. 首先,前端js: function doQueryPic() { var picsDate = $("#picsDate").val(); var piceDate = $("#piceDate").val(); var picInst = $("#pic_inst").combot

  • Django 创建后台,配置sqlite3教程

    1. 创建project django-admin.py startproject myweb1 2.创建app控制台输入 python manage.py startapp home 3.创建sqlite3数据库 3.生成test.db文件 4.在setting文件中添加数据库配置 5.进cmd进行数据库连接 6.定义模型 7. 安装模型 setting文件,INSTALLED_APPS中添加对应app名称 8. 注册model到admin 9.创建表格 10.同步数据 11.创建超级管理员

随机推荐