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进阶教程之循环相关函数range、enumerate、zip
Aug 30 Python
详解python进行mp3格式判断
Dec 23 Python
pandas数值计算与排序方法
Apr 12 Python
关于django 数据库迁移(migrate)应该知道的一些事
May 27 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
Jun 22 Python
python随机数分布random测试
Aug 27 Python
centos 安装Python3 及对应的pip教程详解
Jun 28 Python
Django实现发送邮件找回密码功能
Aug 12 Python
浅谈Python_Openpyxl使用(最全总结)
Sep 05 Python
Python+numpy实现矩阵的行列扩展方式
Nov 29 Python
Python实现银行账户资金交易管理系统
Jan 03 Python
基于django micro搭建网站实现加水印功能
May 22 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
解决控件遮挡问题:关于有窗口元素和无窗口元素
2007/01/28 PHP
使用PHP计算两个路径的相对路径
2013/06/14 PHP
php calender(日历)二个版本代码示例(解决2038问题)
2013/12/24 PHP
PHP使用OB缓存实现静态化功能示例
2019/03/23 PHP
无缝滚动js代码通俗易懂(自写)
2013/06/19 Javascript
JS 去前后空格大全(IE9亲测)
2013/07/15 Javascript
jquery弹出框的用法示例(2)
2013/08/26 Javascript
Javascript实现真实字符串剩余字数提示的实例代码
2013/10/22 Javascript
一个很有趣3D球状标签云兼容IE8
2014/08/22 Javascript
加载列表时jquery获取ul中第一个li的属性
2014/11/02 Javascript
使用node.js 制作网站前台后台
2014/11/13 Javascript
深入分析javascript中的错误处理机制
2016/07/17 Javascript
15个非常实用的JavaScript代码片段
2016/12/18 Javascript
Servlet3.0与纯javascript通过Ajax交互的实例详解
2018/03/18 Javascript
vue devtools的安装与使用教程
2018/08/08 Javascript
jQuery超简单遮罩层实现方法示例
2018/09/06 jQuery
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
Vue+Koa2+mongoose写一个像素绘板的实现方法
2019/09/10 Javascript
JS多个异步请求 按顺序执行next实现解析
2019/09/16 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
2019/12/17 Javascript
Vue快速实现通用表单验证的方法
2020/02/24 Javascript
PyQt 线程类 QThread使用详解
2017/07/16 Python
Python编程中类与类的关系详解
2019/08/08 Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
2020/02/29 Python
Selenium webdriver添加cookie实现过程详解
2020/08/12 Python
python实现马丁策略回测3000只股票的实例代码
2021/01/22 Python
简单的HTML5初步入门教程
2015/09/29 HTML / CSS
药品质量检测应届生求职信
2013/11/14 职场文书
放飞梦想演讲稿
2014/05/05 职场文书
庆祝国庆节演讲稿2014
2014/09/19 职场文书
社保转移委托书范本
2014/10/08 职场文书
2014年度个人工作总结
2014/11/07 职场文书
JavaWeb 入门:Hello Servlet
2021/07/16 Java/Android
详细聊聊关于Mysql联合查询的那些事儿
2021/10/24 MySQL
解决flex布局中子项目尺寸不受flex-shrink限制
2022/05/11 HTML / CSS
python绘制云雨图raincloud plot
2022/08/05 Python