解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
对于使用Django框架开发的系统,当部署时设置settings.py文件中Debug=False时xadmin后台管理系统样式会丢失。
【问题原因】:
django的生产环境不同开发环境,在生产环境下(DEBUG=False),django.contrib.staticfiles 是不起任何作用的,也就说 django.contrib.staticfiles 只对开发环境(DEBUG=True)开启。所以会导致xadmin样式丢失现象。
【解决方案】:
①在settings.py中添加如下配置
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
②修改主项目中的urls.py文件
urlpatterns = [ path('xadmin/', xadmin.site.urls), //... re_path('static/(?P<path>.*)', serve, {'document_root':STATIC_ROOT}), ]
③在控制台执行如下命令,它会在根目录下生成static文件,里边存储的是xadmin的样式文件:
> collectstatic
此时Django的后台管理系统xadmin样式恢复原样~!
补充知识:django接入xadmin无法加载样式问题
xadmin装完,竟然没有样式,查看了网上发现以下几种解决办法:
1.官网:替换xadmin下的theme.py文件,失败。
2.修改settings.py,添加 STATIC_ROOT,失败。
STATIC_URL = '/static/' #如果你设置相同,等运行collectstatic时会警告. STATIC_ROOT = os.path.join(BASE_DIR, 'static')
这两种对我都无效,我自己找到这种方法:
修改settings.py文件,debug改为true,成功解决。
# SECURITY WARNING: don't run with debug turned on in production! DEBUG = True
以上这篇解决Django部署设置Debug=False时xadmin后台管理系统样式丢失就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
django xadmin 管理器常用显示设置方式
课程管理器: class CourseAdmin(object): # 设置列表显示字段 list_display = ['name', 'course_org', 'detail','degree','learn_times','students','fav_nums','image','click_nums','add_time'] # 设置列表查询字段 search_field = ['name', 'course_org', 'detail','degree','learn_times'
-
Django admin 实现search_fields精确查询实例
我就废话不多说了,还是直接看代码吧! search_fields = (u'gift_rule_id',u'user_id', u'activity_id',) //默认的查询集合 def get_queryset(self, request): return super(GiftConfirmAdmin, self).get_queryset(request).all().order_by("-id") //根据关键字进行查询集合 def get_search_results(sel
-
django xadmin中form_layout添加字段显示方式
需求: 用的是django的框架,想显示一个基本固定的页面,用到了form_layout 上图的ROW中添加的是model中的字段名,可以显示对应的内容,如果想一行显示多个,可以写成 Row('Flow_type', 'Demand_name'),效果如下图(图片是别人的,借鉴一下) 想正常的显示,还有最后一步就是在把你需要展示的ROW中的字段,放在fields中(部分截取了一下) 补充知识:xadmin 编辑页隐藏字段 引用xadmin 的fieldSet 对不想显示的字段添加**{"styl
-
Django Xadmin多对多字段过滤实例
在xadmin中是不能像原生admin那样使用formfield_for_manytomany方法来过滤多对多字段 进入xadmin源码,找到了formfield_for_dbfield这个方法,测试是有用的,可以过滤第一个选项框的值 补充知识:给django admin后台管理user扩展下拉框及多选框的字段 1.首先在models.py中编写扩展User所用到的userProfile模型及下拉框和多选框选项值所需要的模型(因为我所做的下拉框和多选框的值都是从数据库里面取得),代码如下: 2.
-
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
对于使用Django框架开发的系统,当部署时设置settings.py文件中Debug=False时xadmin后台管理系统样式会丢失. [问题原因]: django的生产环境不同开发环境,在生产环境下(DEBUG=False),django.contrib.staticfiles 是不起任何作用的,也就说 django.contrib.staticfiles 只对开发环境(DEBUG=True)开启.所以会导致xadmin样式丢失现象. [解决方案]: ①在settings.py中添加如下配置
-
解决django 多个APP时 static文件的问题
每个APP下都有自己的static文件夹,那如何设置将不会混用呢 以下是实例(我项目里有两个APP(login 和main)) 1.首先在setting 文件修改配置路径 STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, "MGStudio", "static"), os.path.join(BASE_DIR, "main", "static"
-
快速解决Django关闭Debug模式无法加载media图片与static静态文件
开发时,通常打开Debug模式会快速定位开发时的一些问题. 项目开始部署时,关闭Debug模式,url.py路由静态文件和图片写法: # url.py from django.views import static from django.conf import settings #路由静态文件和图片 urlpatterns = [ url(r'^static/(?P<path>.*)$', static.serve, {'document_root': settings.STATIC_ROO
-
解决django中form表单设置action后无法回到原页面的问题
django中form表单设置action后,点提交按钮是跳转到action页面的,比如设置action为login,网址为192.168.1.128,跳转后便会来到192.168.1.128/login,F5刷新也会是重新提交表单对话框,无法回到原页面. 因此就要在django服务器进行重定向,具体就是 from django.shortcuts import redirect #最后返回原页面 return redirect(url) 补充知识:Django + Ajax发送POST表单,并
-
jQuery ajax 当async为false时解决同步操作失败的问题
jQuery的ajax,当async为false时,同步操作失败.解决方案,jqueryasync 最近做项目遇到jQuery的ajax,当async为false时,同步操作失败的问题,上网搜索下,得到解决办法,这里就说下如何解决: 引发失败时代码: $.ajax({ url : 'your url', data:{name:value}, cache : false, async : true, type : "POST", dataType : 'json/xml/html', s
-
解决django xadmin主题不显示和只显示bootstrap2的问题
异常:python3的xadmin主题只显示默认和bootstrap2 解决办法: 慢慢来 相信能遇到这个问题的人,都是已经配置好xadmin的,该True的也都写过了 首先 找到xadmin文件,不会找的自己百度. 进入xadmin下的plugins文件夹,打开themes.py文件 然后 找到这一段,大概在70行 最后 把 if ex_themes: 这行改为 if len(json.loads(ex_themes)) > 10: 把 if six.PY3: content = conten
-
Django通过设置CORS解决跨域问题
一.Ajax 跨域请求 Ajax 请求一个目标地址为非本域(协议.主机.端口任意一个不同)的 web 资源. 前端 http://192.168.10.50:8080 后端 http://192.168.10.50:8000 Ajax 跨域请求保护的作用:防止跨站的攻击. 二.如何解决跨域的访问 当我们在现实当中有需要跨域访问资源,有两种解决方案: 前端解决:jsonp 后端解决(Django):CORS 专门解决方案 这篇文章主要介绍使用 Django 框架进行开发时的后端解决方案. 三.Dj
-
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
我要实现的功能是在上传文件之前校验是否表格中存在重复的数据,有的话,需要弹窗提示是否覆盖,确认之后继续上传,取消之后,就不再上传. 项目中用的element-ui是V1.4.3 <el-upload class="upload-demo" drag ref="fileUpload" :action="urls.fileUpload" :on-success="handleUploadSuccess" :on-error=
-
解决Django数据库makemigrations有变化但是migrate时未变动问题
写models.py时缺少了一个 verbose_name,导致数据库出现问题,整了很久,摸索出重新建立数据库的方法: 首先删除每个app中的migrations中的除了init.py的文件,在数据库中清空所有的表,然后执行migrate,这时会自动生成系统默认的那些表,然后执行makemigrations,再执行migrate 如果只是众多应用中的一个出了问题的话,删除与之相关的表,然后进入django_migrations表中,将相应的app那项记录删除,然后再执行 makemigratio
-
解决Java 部署Tomcat时使用jni和jna调用DLL文件的问题
我的前一篇博客提到,我们公司项目的restful框架中要用到底层的DLL C++库,最后经过测试验证结果选择采用JNA方法来调DLL库. 之后基础框架在IDEA中的jetty服务中调试成功,但是在部署到Tomcat上时出现了无法加载DLL库的状况,只能现学现卖了. 一. 把DLL文件放在Tomcat下的方法: 在Tomcat中加载dll,供其它接口调用: 在Tomcat目录根下新建一个文件夹,这里就叫DLL吧,<tomcat_home>/DLL: 把需要用到的dll放入新建的DLL目录下: 编
随机推荐
- extJs 常用到的增,删,改,查操作代码
- 源码分析Vue.js的监听实现教程
- jquery表单验证使用插件formValidator
- 详解java中&和&&的区别
- iOS中Block的回调使用和解析详解
- JS中使用apply方法通过不同数量的参数调用函数的方法
- JavaScript中子对象访问父对象的方式详解
- js实现文字列表无缝滚动效果
- PHP文件读取功能的应用实例
- 用Python展示动态规则法用以解决重叠子问题的示例
- 一天一个shell命令 linux文本内容操作系列-cut命令详解
- python基础教程之常用运算符
- Jquery Ajax请求文件下载操作失败的原因分析及解决办法
- js实现(全选)多选按钮的方法【附实例】
- C#设置自定义文件图标实现双击启动(修改注册表)
- SQLServer 数据修复命令DBCC一览
- jquery判断checkbox是否选中及改变checkbox状态的实现方法
- 昨天终于把科讯3.2成功升级到科讯sql 4.0商业版了-呵呵开心啊
- php跨站攻击实例分析
- 基于vue中解决v-for使用报红并出现警告的问题