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


Posted in Python onApril 07, 2020

我就废话不多说啦,还是直接看代码吧!

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", "your projectname.settings")
django.setup()
from crm import models
v = models.Customer.objects.all()
print(v)

补充知识:Django媒体文件的调用和配置

这类文件可由用户或管理员上传,因此可能会变化。比如说,用户的头像就是媒体文件,电商网站中的商品图片也是媒体文件。

【settings.py文件】

①加入变量:MEDIA_DIR (主要用于获取路径)

import os
 
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
TEMPLATE_DIR = os.path.join(BASE_DIR,'templates')
STATIC_DIR = os.path.join(BASE_DIR,'static')
MEDIA_DIR = os.path.join(BASE_DIR,'media') # 需要加入的MEDIA_DIR路径变量

②加入变量:MEDIA_ROOT(主要用于告诉服务器去哪里找媒体文件)

STATICFILES_DIRS = [STATIC_DIR,]
MEDIA_ROOT = MEDIA_DIR    # 加入的变量MEDIA_ROOT

③加入变量:MEDIA_URL (主要用于客户端可通过URL直接访问)

STATIC_URL = '/static/'
MEDIA_URL = '/media/' # 此次加入的变量MEDIA_URL

④我们想在模板中引用到 MEDIA_ROOT 的路径,我们就需要在settings.py文件中

新加入:django.template.context_processors.media

TEMPLATES = [
 {
  'BACKEND': 'django.template.backends.django.DjangoTemplates',
  'DIRS': [TEMPLATE_DIR,],
  'APP_DIRS': True,
  'OPTIONS': {
   'context_processors': [
    'django.template.context_processors.debug',
    'django.template.context_processors.request',
    'django.contrib.auth.context_processors.auth',
    'django.contrib.messages.context_processors.messages',
    'django.template.context_processors.media', # 新加入的
   ],
  },
 },
]

并且在项目的urls.py文件中url映射列表后面加入 static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

from django.conf.urls import url
from django.contrib import admin
from django.conf.urls import include
from django.conf import settings    # 新加入
from django.conf.urls.static import static # 新加入
 
from rango import views
 
urlpatterns = [
 url(r'^admin/', admin.site.urls),
 url(r'^$',views.index, name='index'),
 url(r'^rango/',include('rango.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) # 新加入

做完以上步骤我们就可以通过url直接访问媒体文件资源了。

我们在模板中则通过 <img src="{{ MEDIA_URL}}cat.jpg" /> 来进行调用这个媒体文件。

以上这篇Python3之外部文件调用Django程序操作model等文件实现方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python的urllib和urllib2模块制作爬虫的实例教程
Jan 20 Python
windows下安装Python的XlsxWriter模块方法
May 03 Python
python存储16bit和32bit图像的实例
Dec 05 Python
使用python进行波形及频谱绘制的方法
Jun 17 Python
详解pandas删除缺失数据(pd.dropna()方法)
Jun 25 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
Aug 12 Python
解决python 文本过滤和清理问题
Aug 28 Python
Python collections.deque双边队列原理详解
Oct 05 Python
Python生成pdf目录书签的实例方法
Oct 29 Python
Python中全局变量和局部变量的理解与区别
Feb 07 Python
Python数据分析之pandas读取数据
Jun 02 Python
详解Python flask的前后端交互
Mar 31 Python
解决django的template中如果无法引用MEDIA_URL问题
Apr 07 #Python
Django {{ MEDIA_URL }}无法显示图片的解决方式
Apr 07 #Python
Python Opencv中用compareHist函数进行直方图比较对比图片
Apr 07 #Python
python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
Apr 07 #Python
解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了
Apr 07 #Python
Pytest框架之fixture的详细使用教程
Apr 07 #Python
4行Python代码生成图像验证码(2种)
Apr 07 #Python
You might like
PHP的FTP学习(一)[转自奥索]
2006/10/09 PHP
Mysql的GROUP_CONCAT()函数使用方法
2008/03/28 PHP
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
2007/03/27 Javascript
ExtJS 2.0实用简明教程 之获得ExtJS
2009/04/29 Javascript
javascript GUID生成器实现代码
2009/10/31 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
javascript实现获取字符串hash值
2015/05/10 Javascript
jQuery简单实现验证邮箱格式
2015/07/15 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
js密码强度实时检测代码
2016/03/02 Javascript
jQuery基于json与cookie实现购物车的方法
2016/04/15 Javascript
微信小程序 开发工具快捷键整理
2016/10/31 Javascript
Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )
2017/03/31 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
2019/06/11 Javascript
vue实现百度搜索功能
2020/12/28 Javascript
深入浅析golang zap 日志库使用(含文件切割、分级别存储和全局使用等)
2020/02/19 Javascript
原生微信小程序开发中 redux 的使用详解
2021/02/18 Javascript
[00:56]跨越时空加入战场 全新祈求者身心“失落奇艺侍祭”展示
2019/07/20 DOTA
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
Python中的__new__与__init__魔术方法理解笔记
2014/11/08 Python
python对html代码进行escape编码的方法
2015/05/04 Python
Python虚拟环境Virtualenv使用教程
2015/05/18 Python
快速解决安装python没有scripts文件夹的问题
2018/04/03 Python
Python简单计算文件MD5值的方法示例
2018/04/11 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
2020/06/22 Python
军校制空专业毕业生自我鉴定
2013/11/16 职场文书
滞留工资返还协议书
2014/10/19 职场文书
教师党的群众路线教育实践活动个人整改措施
2014/11/04 职场文书
就业意向协议书
2015/01/29 职场文书
nginx优化的六点方法
2021/03/31 Servers
Win11电脑显示本地时间与服务器时间不一致怎么解决?
2022/04/05 数码科技
APP界面设计技巧和注意事项
2022/04/29 杂记