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对配置文件.ini进行增删改查操作的方法示例
Jul 28 Python
Python基于回溯法子集树模板实现8皇后问题
Sep 01 Python
Python利用公共键如何对字典列表进行排序详解
May 19 Python
Python发送邮件功能示例【使用QQ邮箱】
Dec 04 Python
Python数据可视化之画图
Jan 15 Python
numpy.array 操作使用简单总结
Nov 08 Python
Python FFT合成波形的实例
Dec 04 Python
Python namedtuple命名元组实现过程解析
Jan 08 Python
python_mask_array的用法
Feb 18 Python
基于Python 的语音重采样函数解析
Jul 06 Python
python用700行代码实现http客户端
Jan 14 Python
详解解决jupyter不能使用pytorch的问题
Feb 18 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 格式化数字的时候注意数字的范围
2010/04/13 PHP
利用PHP生成静态HTML文档的原理
2012/10/29 PHP
PHP关键特性之命名空间实例详解
2017/05/06 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
javascript下对于事件、事件流、事件触发的顺序随便说说
2010/07/17 Javascript
Extjs中的GridPanel隐藏列会显示在menuDisabled中解决方法
2013/01/27 Javascript
javascript的push使用指南
2014/12/05 Javascript
angularJS 中$attrs方法使用指南
2015/02/09 Javascript
js实现简洁的滑动门菜单(选项卡)效果代码
2015/09/04 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(二)
2016/02/16 Javascript
JavaScript常用函数工具集:lao-utils
2016/03/01 Javascript
Immutable 在 JavaScript 中的应用
2016/05/02 Javascript
gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)
2016/08/24 Javascript
史上最全JavaScript数组去重的十种方法(推荐)
2017/08/17 Javascript
js导出Excel表格超出26位英文字符的解决方法ES6
2017/11/15 Javascript
vue响应式系统之observe、watcher、dep的源码解析
2019/04/09 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
[05:42]DOTA2英雄梦之声_第10期_蝙蝠骑士
2014/06/21 DOTA
Python定时执行之Timer用法示例
2015/05/27 Python
python脚本内运行linux命令的方法
2015/07/02 Python
Python多线程、异步+多进程爬虫实现代码
2016/02/17 Python
python中的lambda表达式用法详解
2016/06/22 Python
利用python实现xml与数据库读取转换的方法
2017/06/17 Python
使用Python实现从各个子文件夹中复制指定文件的方法
2018/10/25 Python
python selenium 弹出框处理的实现
2019/02/26 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
2019/04/15 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
python利用platform模块获取系统信息
2020/10/09 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
2020/11/11 Python
添柏岚英国官方网站:Timberland英国
2019/11/28 全球购物
广告设计应届生求职信
2014/03/01 职场文书
安全生产知识竞赛活动总结
2014/07/07 职场文书
励志演讲稿大全
2014/08/21 职场文书
单位工作证明格式模板
2014/10/04 职场文书
2015年度房地产工作总结
2015/04/09 职场文书
海贼王十大逆天果实 魂魂果实上榜,岩浆果实攻击力最强
2022/03/18 日漫