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生成验证码图片代码分享
Jan 28 Python
Python缩进和冒号详解
Jun 01 Python
Python使用defaultdict读取文件各列的方法
May 11 Python
Python中单例模式总结
Feb 20 Python
用Python下载一个网页保存为本地的HTML文件实例
May 21 Python
对python插入数据库和生成插入sql的示例讲解
Nov 14 Python
详解numpy的argmax的具体使用
May 27 Python
python交易记录链的实现过程详解
Jul 03 Python
pycharm重命名文件的方法步骤
Jul 29 Python
Python系统公网私网流量监控实现流程
Nov 23 Python
 Python 中 logging 模块使用详情
Mar 03 Python
Python用any()函数检查字符串中的字母以及如何使用all()函数
Apr 14 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
深入Memcache的Session数据的多服务器共享详解
2013/06/13 PHP
使用php测试硬盘写入速度示例
2014/01/27 PHP
PHP制作百度词典查词采集器
2015/01/29 PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
2015/09/20 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
2016/05/20 PHP
PHP number_format函数原理及实例解析
2020/07/14 PHP
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
JS获取各种宽度、高度的简单介绍
2014/12/19 Javascript
javascript实现简单的页面右下角提示信息框
2015/07/31 Javascript
JavaScript中捕获与冒泡详解及实例
2017/02/03 Javascript
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
解决angularjs WdatePicker ng-model的问题
2018/09/13 Javascript
微信小程序签到功能
2018/10/31 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
2019/04/20 Javascript
原生js实现商品筛选功能
2019/10/28 Javascript
[00:34]TI7不朽珍藏III——地穴编织者不朽展示
2017/07/15 DOTA
python在windows下实现备份程序实例
2014/07/04 Python
python随机生成指定长度密码的方法
2015/04/04 Python
使用rst2pdf实现将sphinx生成PDF
2016/06/07 Python
Python工厂函数用法实例分析
2018/05/14 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
2018/07/12 Python
Python实现根据日期获取当天凌晨时间戳的方法示例
2019/04/09 Python
Python三元运算与lambda表达式实例解析
2019/11/30 Python
基于Python中random.sample()的替代方案
2020/05/23 Python
python中watchdog文件监控与检测上传功能
2020/10/30 Python
深入浅析css3 border-image边框图像详解
2015/11/24 HTML / CSS
英国知名奢侈品包包品牌:Milli Millu
2016/12/22 全球购物
Rag & Bone官网:瑞格布恩高级成衣
2018/04/19 全球购物
PHP面试题-$message和$$message的区别
2015/12/08 面试题
开门红主持词
2014/04/02 职场文书
我的中国梦演讲稿初中篇
2014/08/19 职场文书
环保项目建议书
2014/08/26 职场文书
2014年大学生职业规划书:未来不是梦,只要勇敢冲!
2014/09/22 职场文书
教师个人培训总结
2015/02/11 职场文书
给校长的建议书作文400字
2015/09/14 职场文书
Go语言中的UTF-8实现
2021/04/26 Golang