先來說一下跨域問題。
可以利用script標籤實現跨域:
在demo1中:
"en在demo2中:">"
btn">點我給後端發請求
這是利用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="
格力空調立減券")
(coupon.content_type.model_class())
print(coupon.content_type.model_class().objects.filter(pk=coupon.object_id)[0].price)
(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啥的...