def blog_add(users=None, glob=None): """ blog t添加处理时的逻辑 """ user = users.is_login_admin() if user is None: return "you need login to me!" ret = def_content.get_ret() title = request.forms.getu("title", None) cate = request.forms.getu("cate", None) tags = request.forms.getu("tags", None) content = request.forms.getu("content", None) page_id = int(request.query.getu("bid", 0)) ret["title"] = title ret["cate"] = cate ret["tags"] = tags ret["content"] = content ret["form_url"] = "/blog/add" if page_id > 0: row = ModelBlogs.get_by_id(page_id) if row: ret["title"] = row.title ret["cate"] = row.cate ret["tags"] = " ".join(row.tags) ret["content"] = row.content ret["form_url"] = "/blog/add?bid=%s" % (page_id,) ##### cate 处理 if cate is not None and cate.strip() != "": kwds = {"title": cate, "is_del": False} cate_mode = ModelCategory.get_or_insert(key_name=cate, **kwds) cate_mode.put() if tags is not None and tags.strip() != "": tag = tags.split(" ") tag = filter(lambda x: x != "", tag) for x in tag: kwds = {"title": x, "is_del": False} mtag = ModelTags.get_or_insert(key_name=x, **kwds) mtag.put() if title and content: create_time = datetime.datetime.now() if "tag" not in locals(): tag = [] if page_id > 0: row.title = title row.cate = cate row.tags = tag row.content = content row.edit_time = create_time row.put() redirect("/blog/add?bid=%s" % (page_id,)) else: mblog = ModelBlogs( account=user, title=title, cate=cate, tags=tag, content=content, create_time=create_time, edit_time=create_time, is_del=False, ) mblog.put() # return mblog.key() return ret