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利用前序和中序遍历结果重建二叉树的方法
Apr 27 Python
浅析Python中的多条件排序实现
Jun 07 Python
书单|人生苦短,你还不用python!
Dec 29 Python
详谈python在windows中的文件路径问题
Apr 28 Python
Python打开文件,将list、numpy数组内容写入txt文件中的方法
Oct 26 Python
Python+OpenCV实现图像融合的原理及代码
Dec 03 Python
python matplotlib实现双Y轴的实例
Feb 12 Python
Python发展简史 Python来历
May 14 Python
Python处理session的方法整理
Aug 29 Python
pytorch中使用cuda扩展的实现示例
Feb 12 Python
Django 再谈一谈json序列化
Mar 16 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
May 25 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
「OVERLORD」动画重要删减!雅儿贝德的背叛?至尊猎杀队结成
2020/04/09 日漫
PHP实现的封装验证码类详解
2013/06/18 PHP
解析php中如何直接执行SHELL
2013/06/28 PHP
php建立Ftp连接的方法
2015/03/07 PHP
PHP脚本自动识别验证码查询汽车违章
2016/12/20 PHP
PHP7变量处理机制修改
2021/03/09 PHP
Python脚本后台运行的几种方式
2015/03/09 Javascript
浅谈JavaScript中小数和大整数的精度丢失
2016/05/31 Javascript
基于JavaScript实现点击页面任何位置返回
2016/08/31 Javascript
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
简单实现jQuery级联菜单
2017/01/09 Javascript
vue指令以及dom操作详解
2017/03/04 Javascript
利用express启动一个server服务的方法
2017/09/17 Javascript
深入理解React高阶组件
2017/09/28 Javascript
vue-cli安装使用流程步骤详解
2018/11/08 Javascript
Node.js+Express+Mysql 实现增删改查
2019/04/03 Javascript
Vue this.$router.push(参数)实现页面跳转操作
2020/09/09 Javascript
Vue实现摇一摇功能(兼容ios13.3以上)
2021/01/26 Vue.js
[54:30]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[00:58]PWL开团时刻DAY5——十人开雾0换5
2020/11/04 DOTA
名片管理系统python版
2018/01/11 Python
Python 判断 有向图 是否有环的实例讲解
2018/02/01 Python
python中时间模块的基本使用教程
2019/05/14 Python
Python collections模块使用方法详解
2019/08/28 Python
Python JSON编解码方式原理详解
2020/01/20 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
2020/05/16 Python
animation和transition的区别
2020/10/12 HTML / CSS
Ralph Lauren法国官网:美国高品味时装品牌
2017/12/08 全球购物
Under Armour安德玛法国官网:美国高端运动科技品牌
2018/06/29 全球购物
医学专业应届生的自我评价
2014/02/28 职场文书
员工合理化建议书
2014/05/19 职场文书
室内设计专业自荐信
2014/05/31 职场文书
结对共建协议书
2014/08/20 职场文书
2019年世界儿童日宣传标语
2019/11/22 职场文书
React Fragment介绍与使用详解
2021/11/11 Javascript