跨域 ContentType元件

2022-08-20 15:36:11 字數 2709 閱讀 2223

先來說一下跨域問題。

可以利用script標籤實現跨域:

在demo1中:

"en

">"

btn">點我給後端發請求

在demo2中:

這是利用script標籤進行跨域,這種方式是jsonp,但是jsonp這種方式不能傳送post請求,而且比較繁瑣。然後我們利用傳送ajax請求跨域。

這時候訪問時,會報錯,因為不讓我們跨域:

這時候我們寫乙個中介軟體:

要記得把這個中介軟體在settings中新增進middleware。

這時候就可以訪問了。

content-type

當我們建的model中,會有很多表,在某一張表中可能會和其他表進行關聯foreignkey,這一張表裡會有很多foreignkey,這樣寫就會很麻煩,

# 不會生成字段,只用於反向查詢

coupons=genericrelation(to="

coupon")

def__str__(self):return

self.name

'''id name

1 格力空調

2 海爾冰箱

'''class

food(models.model):

name = models.charfield(max_length=32)

price = models.integerfield(default=100)

class

coupon(models.model):

"""id name dianqi food

1 格力空調 1 null

"""name = models.charfield(max_length=32)

#第一步 先生成foreignkey欄位 關聯contenttype

content_type = models.foreignkey(to=contenttype)

#第二步 生成乙個intergerfield 字段關聯

object_id =models.positiveintegerfield()

#第三步 生成乙個genericforeignkey 把上面兩個字段註冊進去

content_object = genericforeignkey("

content_type

", "

object_id")

def__str__(self):return self.name

食物和電器都會有優惠券,

我們查詢的時候怎麼查詢呢?

#

生成優惠券

#coupon=coupon.objects.create(name="格力空調滿減券",content_type_id=10,object_id=1)

#coupon=coupon.objects.create(name="格力空調立減券",content_type_id=10,object_id=1)#查詢

#1 查詢格力空調立減券對應商品的原**

coupon=coupon.objects.get(name="

格力空調立減券")

print

(coupon.content_type.model_class())

print(coupon.content_type.model_class().objects.filter(pk=coupon.object_id)[0].price)

print

(coupon.content_object.price)

#2 查詢格力空調所有商品的優惠券

geli=dianqi.objects.get(name="

格力空調")

print(geli.coupons.all())

js跨域 ajax跨域 跨域方式(前端)

跨域方式 cors 跨域資源共享 當使用xmlhttprequest傳送請求時,瀏覽器會自動加上乙個請求頭 origin,後端在接受到請求後確定響應後會在response headers中加入乙個屬性 access control allow origin,值就是發起請求的源位址 瀏覽器得到響應會進...

跨域與跨域訪問

跨域是指從乙個網域名稱的網頁去請求另乙個網域名稱的資源。比如從www.baidu.com 頁面去請求 www.google.com 的資源。跨域的嚴格一點的定義是 只要協議,網域名稱,埠有任何乙個的不同,就被當作是跨域 使用者訪問www.mybank.com 登陸並進行網銀操作,這時cookie啥的...

跨域與跨域訪問

跨域是指從乙個網域名稱的網頁去請求另乙個網域名稱的資源。比如從www.baidu.com 頁面去請求 www.google.com 的資源。跨域的嚴格一點的定義是 只要協議,網域名稱,埠有任何乙個的不同,就被當作是跨域 使用者訪問www.mybank.com 登陸並進行網銀操作,這時cookie啥的...