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实现baidu hi自动登录的代码
Feb 10 Python
Python3实现生成随机密码的方法
Aug 23 Python
Python随机生成信用卡卡号的实现方法
May 14 Python
Python中max函数用于二维列表的实例
Apr 03 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
Jul 22 Python
Django rest framework jwt的使用方法详解
Aug 08 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
Jan 03 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
Jan 09 Python
详解Python中Pyyaml模块的使用
Oct 08 Python
详解Python中如何将数据存储为json格式的文件
Nov 18 Python
Python函数调用追踪实现代码
Nov 27 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
Jan 06 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中目录,文件操作详谈
2007/03/19 PHP
destoon实现调用图文新闻的方法
2014/08/21 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
Jquery优化效率 提升性能解决方案
2010/09/06 Javascript
javascript禁止访客复制网页内容的实现代码
2015/08/05 Javascript
jQuery页面刷新(局部、全部)问题分析
2016/01/09 Javascript
BootStrap fileinput.js文件上传组件实例代码
2017/02/20 Javascript
js实现自定义进度条效果
2017/03/15 Javascript
vue图片加载与显示默认图片实例代码
2017/03/16 Javascript
javascript中神奇的 Date对象小结
2017/10/12 Javascript
JS实现的简单表单验证功能完整实例
2017/10/14 Javascript
Vue-cli Eslint在vscode里代码自动格式化的方法
2018/02/23 Javascript
原生JS实现简单的倒计时功能示例
2018/08/30 Javascript
vue+vuex+json-seiver实现数据展示+分页功能
2019/04/11 Javascript
layui radio单选限制下一个radio单选的实例
2019/09/03 Javascript
微信小程序实现锚点功能
2019/11/20 Javascript
vue实现分页加载效果
2019/12/24 Javascript
vue 在methods中调用mounted的实现操作
2020/08/07 Javascript
python select.select模块通信全过程解析
2017/09/20 Python
PyQt5每天必学之进度条效果
2018/04/19 Python
pytorch 可视化feature map的示例代码
2019/08/20 Python
Python3 tkinter 实现文件读取及保存功能
2019/09/12 Python
基于python cut和qcut的用法及区别详解
2019/11/22 Python
Python实现Keras搭建神经网络训练分类模型教程
2020/06/12 Python
基于Python 的语音重采样函数解析
2020/07/06 Python
在HTML5中如何使用CSS建立不可选的文字
2014/10/17 HTML / CSS
HTML5移动端开发遇见的东西
2019/10/11 HTML / CSS
Footshop法国:购买运动鞋
2020/01/19 全球购物
销售行业个人求职自荐信
2013/09/25 职场文书
40岁生日感言
2014/02/15 职场文书
《画家乡》教学反思
2014/04/22 职场文书
餐厅周年庆活动方案
2014/08/25 职场文书
热情服务标语
2014/10/07 职场文书
党政领导班子群众路线对照检查材料
2014/10/26 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
2015年外联部工作总结
2015/04/03 职场文书