{"id":1289,"date":"2025-01-21T21:30:48","date_gmt":"2025-01-21T13:30:48","guid":{"rendered":"http:\/\/www.chan.ink\/?p=1289"},"modified":"2025-01-21T22:52:27","modified_gmt":"2025-01-21T14:52:27","slug":"%e3%80%90django%e7%bb%84%e4%bb%b6%e3%80%91%e8%b7%b3%e8%bd%ac%e6%90%ba%e5%b8%a6%e6%9d%a1%e4%bb%b6%e7%bb%84%e4%bb%b6","status":"publish","type":"post","link":"http:\/\/www.chan.ink\/index.php\/2025\/01\/21\/%e3%80%90django%e7%bb%84%e4%bb%b6%e3%80%91%e8%b7%b3%e8%bd%ac%e6%90%ba%e5%b8%a6%e6%9d%a1%e4%bb%b6%e7%bb%84%e4%bb%b6\/","title":{"rendered":"\u3010Django|\u7ec4\u4ef6\u3011\u8df3\u8f6c\u643a\u5e26\u6761\u4ef6\u7ec4\u4ef6"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u8bf4\u660e\uff1a\u5728\u5206\u9875\u53ca\u67e5\u8be2\u7b49\u573a\u666f\u4e0b\uff0c\u8fdb\u884c\u6761\u4ef6\u641c\u7d22\u67e5\u8be2\u540e\uff0c\u5bf9\u8868\u5355\u6570\u636e\u8fdb\u884c\u7f16\u8f91\uff0c\u7f16\u8f91\u5b8c\u6210\u540e\uff0c\u5e0c\u671b\u643a\u5e26\u4e4b\u524d\u7684\u67e5\u8be2\u6761\u4ef6\u8fd4\u56de\uff0c\u800c\u4e0d\u662f\u76f4\u63a5\u8fd4\u56de\u6ca1\u6709\u53c2\u6570\u7684\u6570\u636e\u5c55\u793a\u9875\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5c01\u88c5\u7684\u51fd\u6570\u5982\u4e0b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>def filter_reverse(request,url):\n    filter_string = request.GET.get('_filter')\n    if not filter_string:\n        return url\n    # 2.url\u62fc\u63a5\n    return \"{}?{}\".format(url,filter_string)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u89c6\u56fe\u51fd\u6570\u4e2d\uff0c\u5982\u4e0b\u6240\u793a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>def policy_edit(request,pk):\n    instance = models.PricePolicy.objects.filter(id=pk).first()\n    if request.method == 'GET':\n        form = PolicyModelForm(instance=instance)\n        return render(request,'form_advance.html',{'form':form})\n\n    form = PolicyModelForm(data=request.POST,instance=instance)\n    if not form.is_valid():\n        return render(request, 'form_advance.html', {'form': form})\n    form.save()\n    from utils.link import filter_reverse\n    return redirect(filter_reverse(request, '\/policy\/list\/'))<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u89c6\u56fe\u51fd\u6570\u4e2d\u5173\u4e8e\u6b64\u7684\u6838\u5fc3\u4ee3\u7801<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>from utils.link import filter_reverse\n    return redirect(filter_reverse(request, '\/policy\/list\/'))<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5bf9\u5e94\u7684permission\u7684\u6a21\u677f\u51fd\u6570\u4e2d\u7684\u5bf9\u5e94\u51fd\u6570\u5e94\u8be5\u505a\u7c7b\u4f3c\u5982\u4e0b\u66f4\u65b0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@register.simple_tag\ndef edit_permission(request,name,*args,**kwargs):\n\n    #3.\u5224\u65ad\u662f\u5426\u5177\u6709\u6743\u9650\n    if not check_permission(request,name):\n        #3.1\u65e0\u6743\u9650\uff0c\u5219\u8fd4\u56de\u7a7a\n        return \"\"\n    #3.2\u6709\u6743\u9650\uff0c\u901a\u8fc7\u2018customer_add\u2019\u53cd\u5411\u751f\u6210URL\n    url = reverse(name,args=args,kwargs=kwargs)\n\n    #\u6839\u636e\u5f53\u524d\u7528\u6237\u8bf7\u6c42\u83b7\u53d6GET\u53c2\u6570\n    param = request.GET.urlencode()\n    if param:\n        new_query_dict = QueryDict(mutable=True)\n        new_query_dict&#91;'_filter'] = param\n        print(new_query_dict)\n        filter_string = new_query_dict.urlencode()\n        print(new_query_dict.urlencode())\n\n        tpl = \"\"\"&lt;a href=\"{}?{}\" class=\"btn btn-primary btn-xs \">\u7f16\u8f91&lt;\/a>\"\"\".format(url,filter_string)\n        return mark_safe(tpl)\n    else:\n        tpl = \"\"\"&lt;a href=\"{}\" class=\"btn btn-primary btn-xs \">\u7f16\u8f91&lt;\/a>\"\"\".format(url)\n        return mark_safe(tpl)<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1314\" height=\"837\" src=\"http:\/\/www.chan.ink\/wp-content\/uploads\/2025\/01\/1737471133546.png\" alt=\"\" class=\"wp-image-1294\"\/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\u8bf4\u660e\uff1a\u5728\u5206\u9875\u53ca\u67e5\u8be2\u7b49\u573a\u666f\u4e0b\uff0c\u8fdb\u884c\u6761\u4ef6\u641c\u7d22\u67e5\u8be2\u540e\uff0c\u5bf9\u8868\u5355\u6570\u636e\u8fdb\u884c\u7f16\u8f91\uff0c\u7f16\u8f91\u5b8c\u6210\u540e\uff0c\u5e0c\u671b\u643a\u5e26\u4e4b\u524d\u7684\u67e5\u8be2\u6761\u4ef6\u8fd4\u56de\uff0c\u800c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1289","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/www.chan.ink\/index.php\/wp-json\/wp\/v2\/posts\/1289","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.chan.ink\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.chan.ink\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.chan.ink\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.chan.ink\/index.php\/wp-json\/wp\/v2\/comments?post=1289"}],"version-history":[{"count":2,"href":"http:\/\/www.chan.ink\/index.php\/wp-json\/wp\/v2\/posts\/1289\/revisions"}],"predecessor-version":[{"id":1295,"href":"http:\/\/www.chan.ink\/index.php\/wp-json\/wp\/v2\/posts\/1289\/revisions\/1295"}],"wp:attachment":[{"href":"http:\/\/www.chan.ink\/index.php\/wp-json\/wp\/v2\/media?parent=1289"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.chan.ink\/index.php\/wp-json\/wp\/v2\/categories?post=1289"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.chan.ink\/index.php\/wp-json\/wp\/v2\/tags?post=1289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}