comment\func
data = [,,
,,,,
]def get_tree(data):
lists =
tree = {}
for i in data:
tree[i["cat_id"]] = i
for item in data:
if not item["parent_id"]:
else:
if "children" not in tree[item["parent_id"]]:
tree[item["parent_id"]]["children"] =
return lists
res =
def get_son(data, level=0, parent_id=0, is_clear=true):
if is_clear:
res.clear()
#假設傳來的分類為1 ,現在找索引分類id為1 的子孫,但是如果不加下面這一行**,就會遺漏自己本身
if parent_id:
for item in data:
if item['parent_id'] == parent_id:
item['level'] = level
get_son(data, level=level + 1, parent_id=item['cat_id'], is_clear=false)
return res
res1=
def get_all_son(data,parent_id,is_clear=true):
#如果第一次進來就清空
if is_clear:
res1.clear()
for item in data:
if item["parent_id"]==parent_id:
get_all_son(data,parent_id=item["cat_id"],is_clear=false)
return res1
# 上海
# -青浦
# -浦東
# --張江
# 北京
# -昌平
userfrom rest_framework.views import apiview
from rest_framework.response import response
import time, hashlib
from django.core.cache import cache
class login(apiview):
def post(self, request):
param = request.data
if param.get("code"):
data = wxlogin.get_openid(param.get("code"))
if data:
val = data["openid"] + "&" + data["session_key"]
key = str(int(time.time())) + data["session_key"]
md5 = hashlib.md5()
md5.update(key.encode("utf-8"))
key = md5.hexdigest()
cache.set(key, val)
has_user = models.wxuser.objects.filter(openid=data["openid"]).first()
if not has_user:
models.wxuser.objects.create(openid=data["openid"])
return response(})
else:
return response()
else:
return response()
bannerfrom rest_framework.views import apiview
from rest_framework.response import response
class list(apiview):
def post(self, request):
data = models.banner.objects.filter(is_show=true).order_by("-w_order")
data = banner_ser.banner_ser(instance=data, many=true, context=).data
print("list",data)
return response()
goodsfrom rest_framework.views import apiview
from rest_framework.response import response
class hotlist(apiview):
def post(self, request):
data = models.product.objects.filter(disabled=true).order_by("-buy_count", "-w_order")
data = goods_ser.good_ser(instance=data, many=true, context=).data
print("hotgoods/list", data)
return response()
class list(apiview):
def post(self, request):
param = request.data
if param.get("category_id"):
data = models.category.objects.filter(is_show=true)
data = category_ser.category_ser(instance=data, many=true, context=).data
all_id = func.get_all_son(data, param.get("category_id"))
# 查出分類屬於all_id的所有值
data = models.product.objects.filter(disabled=true, product_id__in=all_id).order_by("-w_order")
data = goods_ser.good_ser(instance=data, many=true, context=).data
print("goods/list",data)
return response()
else:
return response()
categoryfrom rest_framework.views import apiview
from rest_framework.response import response
class list(apiview):
def post(self,request):
data=models.category.objects.filter(is_show=true)
data=category_ser.category_ser(instance=data,many=true,context=).data
print("category/list",data)
return response()
banner_serfrom rest_framework import serializers
class banner_ser(serializers.modelserializer):
product_id=serializers.integerfield(source="product.product_id")
image_url=serializers.imagefield(source="image.image_url")
class meta:
model = models.banner
fields = "__all__"
category_serfrom rest_framework import serializers
class category_ser(serializers.modelserializer):
product_id = serializers.integerfield(source="product.product_id")
parent_id = serializers.serializermethodfield()
def get_parent_id(self, obj):
if obj.parent_id is none:
return 0
else:
return obj.parent_id
class meta:
model = models.category
fields = "__all__"
goods_serfrom rest_framework import serializers
class good_ser(serializers.modelserializer):
image_url = serializers.imagefield(source="image.image_url")
class meta:
model = models.product
fields = "__all__"
day10 介面習題
第一題 分析以下需求,並用 實現 進行描述筆記本類,實現筆記本使用usb滑鼠 usb鍵盤 1.定義usb介面 開啟功能 關閉功能 2.定義筆記本類 開機功能 關機功能 定義使用usb裝置的功能 要求 既能使用滑鼠也能使用鍵盤,使用usb功能內部呼叫開啟和關閉功能 3.定義滑鼠類 要符合usb介面 4...
day03 介面 多型
介面可以定義一定的規則,利用這些規定給類進行功能擴充套件。定義介面 public inte ce 介面名1 定義介面 public inte ce 介面名2 實現介面 public class 類名 implements 介面名1 介面名2 override public void 方法名2 成員變...
DAY8 介面通訊
day8 介面通訊 注意 延展中寫的東西只能在類內使用 pragma mark 屬性傳值 第乙個頁面往第二個頁面傳值 一 屬性傳值 第乙個頁面往第二個頁面傳值 屬性傳值 可以自定義屬性 也可使用控制項 檢視的自帶屬性 1 屬性傳值用於第乙個介面向第二個頁面傳值 2 明確兩者聯絡的橋梁,也就是觸發跳轉...