1. 程式人生 > 程式設計 >Python3之外部檔案呼叫Django程式操作model等檔案實現方式

Python3之外部檔案呼叫Django程式操作model等檔案實現方式

我就廢話不多說啦,還是直接看程式碼吧!

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等檔案實現方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。