Python导入:from.filename导入函数vs from。导入文件名
上下文:我试图将models.py中的2个类导入另一个名为admin.py的python文件。django文档说要使用以下语法:Python导入:from.filename导入函数vs from。导入文件名,python,django,import,Python,Django,Import,上下文:我试图将models.py中的2个类导入另一个名为admin.py的python文件。django文档说要使用以下语法: from.模型导入问题,选项。 这是文件结构: 问:为什么,当我使用来自的时。导入模型,然后在同一个文件中调用模型。问题和模型。选项我得到一个错误:“ModuleNotFoundError:没有名为'models'的模块” 在同一目录下的另一个文件中,此语法用于导入文件并调用文件中的函数,而不会出现任何问题:from。导入视图视图。索引我建议您以这种方式导入模型 fr
from.模型导入问题,选项。
这是文件结构:
问:为什么,当我使用来自的时。导入模型
,然后在同一个文件中调用模型。问题
和模型。选项
我得到一个错误:“ModuleNotFoundError:没有名为'models'的模块”
在同一目录下的另一个文件中,此语法用于导入文件并调用文件中的函数,而不会出现任何问题:
from。导入视图
<代码>视图。索引我建议您以这种方式导入模型
from .models import *
现在,在python编码过程中,当您想要使用某个特定模型时,只需编写该模型的名称
例如,在我的项目中,我有一个utils.py文件,我导入了所有模型,在我的一个函数中,我调用了其中一个模型
import json
import datetime
from .models import *
def cookieCart(request):
try:
cart = json.loads(request.COOKIES['cart'])
except:
cart = {}
print('Cart:', cart)
items = []
order = {'get_cart_total':0, 'get_cart_items':0, 'shipping':False}
cartItems = order['get_cart_items']
for i in cart:
try:
cartItems += cart[i]['quantity']
product = Producto.objects.get(id=i)
total = (product.price * cart[i]['quantity'])
order['get_cart_total'] += total
order['get_cart_items'] += cart[i]['quantity']
item = {
'product':{
'id':product.id,
'name':product.name,
'price':product.price,
'imageURL':product.imageURL,
},
'quantity':cart[i]['quantity'],
'get_total':total,
}
items.append(item)
if product.despacho == True:
order['shipping'] = True
except:
pass
return {'cartItems':cartItems, 'order':order, 'items':items}