0
我試圖導入此CSV文件。它完美地運行在我本地的django上。但是,它不會導入到我的實際服務器/生產版本中。在生產服務器上導入數據時出錯 - 本地正常工作
我在服務器上使用SQLite(本地)和Postgres。但是我看不到會影響它的任何設置。有什麼建議麼?
我的導入文件:
import sys, os
import django
sys.path.append('/srv/apps/stashdDB/code')
os.environ['DJANGO_SETTINGS_MODULE'] = 'stashdDB.settings'
django.setup()
import stashd.models as m
import csv
l = list(csv.reader(open('test_data.csv', encoding='utf-8', errors='ignore')))
Gender_CHOICES = {
'Male': 1,
'Female': 2,
'Unisex': 3,
}
Stock_CHOICES = {
'in stock': 1,
'low stock': 2,
'out of stock': 3,
'discountinued': 4
}
for i in l[1:]:
cat = m.Category.objects.get_or_create(category_name = i[4])[0]
prod = m.Product(
name = i[0],
link = i[1],
description = i[6],
brand = i[7],
gender = Gender_CHOICES[i[8]] if i[8] in Gender_CHOICES else 3,
store = m.Store.objects.get_or_create(store_name = i[2])[0]
)
prod.save()
var = m.Variation(
product = prod,
variation = "default"
)
var.save()
img = m.Image(
variation = var,
image = i[5]
)
img.save()
size = m.Size(
variation = var
)
size.save()
price = m.Price(
variation = var,
price = float(i[3])
)
price.save()
stock = m.Stock(
size = size,
stock = Stock_CHOICES[i[9]] if i[9] in Stock_CHOICES else 4
)
stock.save()
prod.category.add(cat)
錯誤:
Traceback (most recent call last):
File "update_fromcsv.py", line 18, in <module>
l = list(csv.reader(open('test_data.csv', encoding='utf-8', errors='ignore')))
TypeError: 'errors' is an invalid keyword argument for this function
你在服務器上安裝了Django嗎?錯誤是因爲它找不到Django包。 如果您安裝了virtualenv,服務器上的virtualenv是否處於活動狀態? –
檢查是否安裝了django或在生產環境中激活了虛擬環境。 –
對。而且,在項目目錄中總是保留一個requirements.txt。每次在安裝任何軟件包後在本地進行更新時,請繼續更新它。 –