From 70f8a40a59d1e83ba6bd90587d285e46fd08b83c Mon Sep 17 00:00:00 2001 From: yongzy <635602689@qq.com> Date: Tue, 16 Jul 2019 23:35:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AC=A1=E8=8F=9C=E5=8D=95=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../.idea/workspace.xml" | 211 +++++--- .../icon\347\210\254\350\231\253.py" | 22 + .../rbac/__pycache__/forms.cpython-36.pyc" | Bin 1042 -> 36742 bytes .../rbac/__pycache__/urls.cpython-36.pyc" | Bin 400 -> 542 bytes .../rbac/__pycache__/views.cpython-36.pyc" | Bin 891 -> 1432 bytes .../rbac/forms.py" | 468 ++++++++++++++++++ .../rbac/templates/rbac/menu_list.html" | 54 ++ .../rbac/urls.py" | 4 + .../rbac/views.py" | 18 +- 9 files changed, 707 insertions(+), 70 deletions(-) create mode 100644 "DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/icon\347\210\254\350\231\253.py" create mode 100644 "DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/templates/rbac/menu_list.html" diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/.idea/workspace.xml" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/.idea/workspace.xml" index cd97e71..c41c476 100644 --- "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/.idea/workspace.xml" +++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/.idea/workspace.xml" @@ -2,15 +2,11 @@ - - - + + - - - - + + + + - @@ -267,9 +284,12 @@ - + + + + @@ -290,7 +310,29 @@ - + + + + + + + + + @@ -338,23 +385,23 @@ - + - - + - + - + @@ -458,13 +505,6 @@ - - - - - - - @@ -528,9 +568,16 @@ + + + + + + + - + @@ -538,33 +585,34 @@ - + - - + + - + - - + + - + + - + - - + + - + @@ -572,6 +620,16 @@ + + + + + + + + + + @@ -579,40 +637,55 @@ - + - - + + + + + - + - - + + - - + - + - - + + - + - + - - + + - + + + + + + + + + + + + + + diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/icon\347\210\254\350\231\253.py" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/icon\347\210\254\350\231\253.py" new file mode 100644 index 0000000..d4755c3 --- /dev/null +++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/icon\347\210\254\350\231\253.py" @@ -0,0 +1,22 @@ +#!/usr/bin/env python +# -*- coding:utf-8 -*- +from django.utils.safestring import mark_safe +import requests +from bs4 import BeautifulSoup + +response = requests.get( + url='http://fontawesome.dashgame.com/', +) +response.encoding = 'utf-8' + +soup = BeautifulSoup(response.text, 'html.parser') +web = soup.find(attrs={'id': 'web-application'}) + +icon_list = [] + +for item in web.find_all(attrs={'class': 'fa-hover'}): + tag = item.find('i') + class_name = tag.get('class')[1] + icon_list.append([class_name, str(tag)]) + +print(icon_list) diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/__pycache__/forms.cpython-36.pyc" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/__pycache__/forms.cpython-36.pyc" index 797f331739742c115ad4f8ee6dd8acbc121a2956..4d7292b9a3f41b74d9adea68256204d0876ce612 100644 GIT binary patch literal 36742 zcmeI5cbMGN_4jA13pSWu0>m*1!N3??=%xglmVilc5|WL{W_GS-M_$cnENQ&niAggF zkOV?W?>!;C_uhN2n_da&y_ffUzB-zbW;f4!=J(h8yw4Awz5YmZzDHMAx9dvUxN_z4 zYkyU~=IghYNL8>VrWQsI2dk>OpK66g3-p<#Mn^j zl9C&BW7n13m^ZX@eBa2#66_gwOR#5&w*=cu-BPz~de|*@`ypK6RwCTr9e{9^I}qVP z?qGz6xI+;h<_<@AggX-9QSNRCk9Nl(Jl5SE;c9meglpV!2=D3ch46THZ-ghfwFpmi zCm}r9l@YFUryxAltw*@QZA7@qordsqcLu^U-B}3FcIP16?9N4ao;x4m1@1lwFLYZF zZgm$Syx3iW@KSdf!uz`WA-vpOfpD9<65;*b0}x*2wj+F?dl140yQ>jC#61+@gnJmm z9qt;04|kIYAK@wpr(6}Ga~{H)n?_i7KEj=D24UbD2%9cM*mAoNMlME}xHiJwZWiGl zH;1s}9*J-k*SW_de1f|k;SKIagimx&Lil8N6T+L_QxM+b zZbf*TyB*0Gu^WgKHEJ9;d9;d5I*0%0O1SWix9rpy#(P)-OCWZ+`R(f zE8QIkU*%qn@HOtW2w&%3kMIrdjR@c5-i+`q?yU&l=H8C*9qye7-{szo@ICIm2;b-4 zkMINTg9tz5K8)}q?xP4l=01+_6Yi4;Kjl7+@H6hS2tVgOkMIlbiwM8uzKrlI?yCsD z=Dv>b8}6G3=iRpue%pNq;dkBl5PskN0O1eaj}ZRY{RH7p-JJ-3=I%oHbN35`zjVJs z_-pqYguivaL->352ZVoge?s_Y_ZNhJb$>(nclQs3|8)OC_;2^0>ET<3TnT?eB-t7v zje^EV?oL__x(8_u=s40nLH8mZ54tz$1khU2iJ+56CxgnQb)Zv7r-Ig#Hh?ygHi1qf zoenyKbSCI5(%GPMNSi_DlFkF2Pr3kfAJT=OEu^iWi%1uPE+JhCx{P#R(EUi4gRUTL z16@hFKj;CZt3caH4+K4k^kC4{q=$eWN}2#YjI;xE4e8;aNzx-g719)_N^&5NR0BL8!A6Es5#Kn+q86p~t?U8D#UlM+yyv>P-_+5?&+bwH0K?FC&+dKBo`DeFXGT(#Jp_Cw&6+ zNz$i4pC)|<^jXs9K%Xal0rW-Emq1@8eFgMY($_#=Cw&9-P0~E*TcmG;zC-#h=zFB^ zgML8zA?Qb>AA^2E`YGs6($7G5k$w*P1?iWdUy*(d`VHx~px=>x5BdY?kDx!1{tWsH z>93%_k^T<)2kD=nf06zT`VVLr_1`e-zhNg^BiuI%8Y7K^mXMZ$mXVf&_9LwTtt9Oa zI)JnabRg*<(7~ibK!=hJ107B}0(2zlDA3(VM}v+b9SgcUX*K8`q&1-9NcRNYi*!8b z-lP*iYe^@9P9mKQDwEcMP9dENT2I;l+DO_2I*oKX=nT@CptDG4gU%ss2AxYf4|G21 z0?>U(7lO8swt_AqT@1Q}bSdaE(tSbqBV7)WXpYnYJ(9E+bS>#ophuG)19~j!aiD#q>p+huJppt*=?2h^q$h%&M0zsl zCeqEIr;u&|-AcL*bUW#(pr?_Z4tfUZnV@Hpo(*~q>A9fik)98F0qKRH7m;2JdI{;J zpqG(e4tfRYm7qIFuL8ZA^cv7>Nv{LFp7aLL8%b{hy_xhD&|67w1HGN}4$wPE?*hG> z^d8WAN$&%_pY#FH2T30SeVFtS&__uh1AUzI3D74=p8|cF^cm1+NuL9Kp7aIK7fD|N zeVOzX&{s)c1AU$J4bV49^Pq2$z76^g>ARrsk-iW50qKXJACZ0x`U&Z$pgT!F1KmaX zIp`OpUxI!``Zee`q~C&mNBTYJ52QbW{zUpS=r5$dg8oMOJLn&ze}eu+`Zwr5pb^x6 zBdq^MQ2&jv{u^i2Remx zDrh}v185^@6X-P3>7X-6XM)ZmoeesNv>9|R={(T+qzgdzAzcXCLfQ(th;%XN64Irh z%SiVH-H&uR=nB#{(3Pb7gC0P-3bdW{K+uCo4+dRLdI;#DqzTZ&NIO8+kRA@2Bs~ID zAx(j*BnR?HHPAGv4)RGmK{KQP)F3rMA*lu0MT$T%DFL-fyFs(0J)k*K2lPnNUeL9q zM}ZzqdJO2Xq{o5wk*)(hp7aFJ^`sj>HiZcoK%`sZ+?8%chg=H4U1&I zt18Y9w|jwCP3FfcNfO0tN9RXlFR0CrR-$RRn3?6jV{|ELH#y0JPfp%Z`qLIT*?RVl zdf4!0!)Rv5)}58+ba=T}iJE?MdPmT%)#fGKNxoWx~q2f`~R zCwH|gLHY}Q&ac$iR=psYoQw{EcLr;RqJxDGl|WK&9DlK-$@++Rbk*UPr$PKpX84V@E0F}Ak%xu1ruYao`)vJ-LPEc&dN-^ z?g}rd%#X^MY+Jh|It;Sta0$dgB>8lHRBY$Rn5Uy@ftx~Qy7kP19o(jX6&S{(d)s@JvlbX4 z`^m?+S*?eWEygre?Q)56RIU5Fz0RqYSf#eAUP-lADOc;2DCul8ImpcOv5%r~Hnzo{ zrmEeK#}{q6-dS%tdTP8-zk3kJ#XZXsk3Nz5JC^=pKTdEx$^riMq*gA+ zbD&1t*=lnAU-kL3hQr8@XKZJ!#;PBaSSFp5ERo4d#v!65HnJZT-Gsbo@uTW1* zC0zr*={oBynNTcM$r==6<0K4G^_yzY%vwFL&CB+cr)+Ir&tAPSH-wYGul#f?Y1X(D{}MD!~}mlGA$Tx$~6{eA87T)A?q` zs+W;mwhP^AuR4P(XBo-$ix%_O@SE*;P=6{arV-E2n5Vii%Vt}of6?993K%6z|DsQ` z*cm2%!yEVvRiyr;wXVwKNyXG!r>3fvmNwl{#tchjYiaWW^^@k`$e4e#{>foHIu2Zp zrHkd2F~|*Po1M*u77kNS{W^`yB3=Wpmi$k=icY;AzA&zlKV45c=MElO3e~TS@B7ZB z-7<~u7pT-@np>j;(^HtUNmJC8TMHWXCT$6hl$0gko7$4DwR(_Qk80I4>rt($MtU4o zFG~CxW&{(@)Z@t6s~71ru}U)anP{m>mJ3#9RX>vMqooI$)_$o#{m7heem80$%bagf zvLH@rX&E3+sbE2zvQjrdoHB{}N>dmuzA=SisY=#bY1&%G7==`oenz?j>1pX_WXAav z;IUETG{dA?x1~TqqQ00@(;t$$-?Zh_p1pdJ{$4c**?3w;Dr&20UWFiRdbX<|mPI9c ziI!0XjvDtV+r}#&gzfCgvrNb~tEM2VI9uu$BpQE~Q~uCy(UYm1<^<|T#wMJMvy2tQ zP<5;wv029Ly%}5Wm|3d_mV>ZX^E_MYO;gpf)eUXE^lF&(($jODw#^bs+P86D_88DE%syJ-|)uCZW#>Fz{CO!*}zP(Q4J(%rGG z22x|y=gviXe*>Hg%+-fpj~4EZTd#-MsyfZNxF5|irZo>WyV33R|W*genYG$Lkw~aa^zX z#SoLzXoL8xtQcMi<$Hit7xA<+xRb$mly5a8JOoEJJX}#4pul6e_ zKF+32ZB;EbnhQ~6v~yyr(ei?P8es6nR@9XCYOH!GcP_%+*C@vQ*Q(dVCA5^gK8<>l zQBmJ7s3t9UJr}6dqvQ>#TTFRF3{@v38B@`I3pa;xuiR2o_skdbv3oEd*&TB!8(wp_ z7lbWa*~pCZaZtUn#mPK$TO66q?(J-OP17BufxuvilQL^NgKFwm@bZ|6~x5D^H zdSsYPiE+QhGBQa`H72}Dd$6dZIc>a3YOH!`1HC<1Nz_2Iiu?SQyURIy^>S#@i`EUD za||;TIcF+UpECcE|1rS=sOB_A#+Lby#f0jYd1?>t*flEwDvsuiEl=eYg&5{M>8z45 zh6{!2S9;kp8Ejdh(3=OA)(~6iEi6-O*tOQ)7eg##ggZ+QW`U~zEaR}4w_`J%p!P8SwdMALB%hMlT4|h#<`r7ERvn2sv0&0z@U<65S=p(x46A_{R=(-aG_RHc*@45jesTU41s_Og_eoV|LH zlES@#-$@^Fu#}X7LOn^3ko#K|^vDq*OADMAEb!x1uz-3HKdC_d$W=<+OZS2?vh;R~ z67|(h>nOboWlrnVUcJb;p6=r+9)k)o7i1gP_i6gmDQ=~aGN-o+`p+%K4Ba64D7EkN zf;rt8xoFlDQu{&*Nr$OcuA_F4TN#$Q3Opy0*QhtCyX$B=6Ey#p+EZ;+EwyLeN#D&< zGHIzw>9ryD4*h3LnwolTJ@fq0kphYB=wg{aYuQH3O=q3js#-?olJdzE?p>Hh=3VRj z@$rmFXk5`=Pi<8#?SMQ*Xle(OXbU1+$mgtOsl1t|zWzH`T%g z$)YJ_tYf;4vO9yUg}Zz4Ff7WLsg5aXG)~gr^~=?Eg!F|Igsu)YJ z8q2+Dta_B=xiBPfe+x8LM7KmqDc^w*xKnpsA^9<;n%tdzfOVI?1Jh zH(jxfglMTsDPMty+mFW9RBcr)=^c0&fu#!#E$Q7eS07Ao`oJK;lG{@c-Eo4H@xZTn zShnAuGnMhKwZ@?5p&bt50oMH<*rT)5GmL{+=TlP7BF2E$Hs4PdG*=%|egm0BpK1rz z5mU~-5R)cmtj$j+K?9QzmV0opE1Z1`%4o(| zq99gt^^snG88uqQNFvYLQmI#EyMT#t;l0EV=1lzjnu5~`l73M>J>-EB+m#ecRkAel zQIvF*jcMK|eGDZPEbya?6fE-@sh`3M1(rz0C*6%pY#DLnJ$0`&YpL{20H#`srup;X zj&gdPP3Myn$DBlH{0b!^xZs2}Ea+;@!92Td)l zOrvYAK4di72-~q&=AA-RR+c%+fODfLyevfIatmrV7Q+NxT59!+mH z&Zb5!BZr*5dXbVAPVK}inlR@pQ^uAYl^3WVDIvPM-Ap}MN=Q+XJF`|r?%z&DZQP}@ zoLSDk;6le2?pbC5yIo?P{xPDQ{`zXXzj0+c(MU z+|H82lGpQsVhj>n4+RdAtOk@mMt9wUsh#gy>#SP>Z0!^!3#b0azXelOYuFx4h<)Itw{^+0d0wI0YTG(ODz zp~I8n#@wIUs+!kd7P#PcM$MLkGHdm~@`F*Z?Jht|ELF+!)9!Sz0tK0>YI{bnl@q8R zsnd3)ui~-vAyQM-%FM+sympY&T$Y)O%vkkOlV!WId}W!b?bE0?SzFTg3vz~KZOH{uIXUU-vO$)Kd3N7?0Eu+xL zqphl?bf!}WmfD$?s+5|6+ng}4vrXQs8FsmIjd3Rw&%avo zRcfkQseRKO7^KUf+R}T;3)GL)4!TZ?wE8E@cuC;oQd6n+IEZ14)Rr*Ehk2yikCG%y< z2|0oKkuh6(h=FD`iW2oDr8ut3n}KcDhNh}zUXqC~Q(l5$Asw(-A5;3c+c|A35%r!x z{Yal6?(L4HDzfwm`ZVfIdWzj&!#wKy?S9j4y$;{2g(*-O=p=s zi1P~d#PW@4JX`sOq3T#aVG|W^t1hpvt(s)GY9Z89~fb zNz_a=2EBDP>W%F~?iWVR)IRiy)E~+J+jfZJ-=ydobDG=WXycq2}2Rn2};E5r=6sb3_Ps$}cLw@BG)W}2#&IaJ?3Wy_&z zta{ccxQ}3~QDCS#=1aN%z(r%Ge3@CR2i7CmzH<6jS5wI^YSbHRxb81}v#Vv+To#z| z6!3fv5pq(&d-@xmJga3HA@|JHhm4SAm9%AS4m(vz$;Os#u2>9J zC#jrN;u+h$W?B}GxW_luB}rwEuR5j?K5jC=S{E!3R&(_sc?$`Q@jUvsmb{f2t6p+= zg2&k!dZ8>ceK~veA|)=j7jONx^z;gf|Ke%=z@D-U%qFQ7@tu3uLHzK?A43(rV=^TSbSJ|Q(bHIz%~jU0BajXQ`NG@mzTMk z+Eu>6Rh2S-mcG$-fYn8Lf%=i&TYfj1cuViCC{bV1uS|cyy%2m%OJ4M0=~wn?)Eny; zzUa2=4Usd|Fa0X@$aYz78d~P)@SJrvhG)(Xr*S$1s(VntC-|bBzh}yzaD(Y?I7dJuvsB`_kKUmf2f%l7EkFE+*E}mmalPe(}sHrnrpn zQcN;yJr|Ziyt&8rBstV^{tGAEM!vL+p4C>5%iM^Lx-B=tP<5jnx%#8IMr5Dj| z@||LMIZy?Yf4I43Y4!U>>Q73X{^TP8EG4dIp1Wpkyd@0@ZvkG*Pje@0~;||`fwDdB%*8QmwdsV!{+|=8lkJMhhFfYqFu*tRM z<*vE7DB#8khlU_#IpCyic=;H+)ogU~j5fc%E1> zg;nw1Am^zP^(FnI*$4}OZR=A~(^T92PO*H+RX%ttpYM%VBbYAjEnRcOwL^RH$>SsO z)nfcRbR<5rJUx8t@Gkk_@o*&Hu)RwHd^%UYCA)Tbet6xf^Fw~_qp|YI*}pH}ET5Xh zyN_GveG~TlsP1?vT7%#Iryte5!fUn{d{kE=aRL6~O$hows_TaFweu1Au&x{RhbES| z5pU_vW!`c(cGD2H_jBVosU@A2ndf!<;O-cnw#7$v$7elxTyTC=mi@OSp?>n=%!!g6^GF=kno$l^W#AU-{6Y*wdH6fcF(W4Y|E9~CbwLA z3KD=~f;P3Yy2l2PF3xTg2%Qm7v zKkoRk=JZ3*qw+oG^uxl3r~B98G36j$Cm+ei1J|hUc-7~Zb-#Me&m{Bf!1JT>&f(}p zIHvc-PG)}T=JY$w=Sd!lZ$oOW7{dP}2Q6DQK8|yf|CbJpDrI~A|NeLR(EtAbzbWwl MMhdJNK4|3s03P}0Bme*a delta 457 zcmZvZy-ve06ov0iY$ru6KjBXucz_H{jG(F$Oa%$HN+=3(K&l)f*)TA505KxeJOGcv z#?I=M37&#`Q-lzzrF(RIY<<4AA76r5Jl*T{mS*p}=U)i$0e^-dKcsR45)B#+R5(Ut zADEyD$05QI=unFX(4xeNxDUsY5~&p>s+2TWIy!?i{v-yZ=;dW?D@R6EwJwb-n!D9E z6wPq$RYtT$H6l6LXXkraR+!wmqBJJU>^fzwq-YcN8!X(Uq;dgCj8-&H$@6rRm$q28 zSwa#oPHR(o*&b_Sj(>@B$2>1abHQ% wD?Q1tuWHM&7xp4A=ACs${1k`uFzs~+u$b)Q1M2?Plmq%IaEhdh-7x8V1N8Y*Q~&?~ diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/__pycache__/urls.cpython-36.pyc" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/__pycache__/urls.cpython-36.pyc" index dac31c21b402033997fb62f07a20fd0a092db263..f2713622de2064af05e365ecdd3da4e013dd76b9 100644 GIT binary patch delta 228 zcmbQhJdZ`$n3tF9=S$t#%Zv;Rj~S2v7m)1$#Kk2Om0e9z8B@4YnX}kZxKmhrnSneW zAdfwT7s}%U^Y}r$bhapt6oFs{O~HvpIsR4Lxv6=j`Z<}!CHgA2I6<6v5T}X@ES{K> zqOTIg0Tu?bs|3NKsVSKy`Wi7Q+L}N~h#ruTpC;$ThbG)bY(Q5IF#Bn; vPY!1^5xd1*T9i|eSW=Q&lvlixp@CfZK0riFh%q(MXdE?$gv7<@pc~N;H@JAtB@)6-@7Hs_p6A!!_@i0cwr%77XZ`F`CFGloofz0ES}&dw}7#E{De5kL3<~yMC{mioBO`-B6iqp zcL%SxOox&$L?ps83GbAZ zqK!lvAc{elm_au&f@Juitf_hM2XEz`2aRj)RnQq0*XyoZLoRSMSv^v5G+|=8g`fa9 zijX}Pkr=BCZlsSY&Vd_%ZiG;aiY0hAFc}ZB8r(|wPW_&o)uCb<7?DAk*jcXdzit5o z?s^A zj8R-EY{3kgToYTY*%@zf1m)+XPQ1{;!2#5=lA(xqasp!tBmd;1jC0iafkIWBY57ID zdKo3TIkz}K%=rAIEKS}bHlSP)Cy3yh+`**4C^UH`ld3!qNI(Ec++qeQD-s5AdEo@# z
+
+
+ + + + + + + + + + + + + {% for menu in all_menus %} + + + + + + {% endfor %} + + +
名称图标操作
{{ menu.title }} + + +
+ +
+
+
+
+
权限管理 + 批量操作 + 新建 + +
+
+ Panel content +
+
+
+ + +
+{% endblock %} \ No newline at end of file diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/urls.py" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/urls.py" index 701a6e3..f24c7dd 100644 --- "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/urls.py" +++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/urls.py" @@ -5,4 +5,8 @@ urlpatterns = [ url(r'^role/list/$', views.role_list, name='role_list'), url(r'^role/add/$', views.role_change, name='role_add'), url(r'^role/edit/(\d+)/$', views.role_change, name='role_edit'), + + url(r'menu/list/$', views.menu_list, name='menu_list'), + url(r'menu/add/$', views.menu_change, name='menu_add'), + url(r'menu/edit/(\d+)/$', views.menu_change, name='menu_edit'), ] diff --git "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/views.py" "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/views.py" index ee0d60a..e36cee6 100644 --- "a/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/views.py" +++ "b/DjangoLearning/luffy_permission-\347\251\272\347\231\275\347\211\210/rbac/views.py" @@ -1,6 +1,6 @@ from django.shortcuts import render, redirect, reverse, HttpResponse from rbac import models -from rbac.forms import RoleForm +from rbac.forms import RoleForm,MenuForm def role_list(request): @@ -17,3 +17,19 @@ def role_change(request, pk=None): form_obj.save() return redirect(reverse('role_list')) return render(request, 'form.html', {'form_obj': form_obj}) + + +def menu_list(request): + all_menus = models.Menu.objects.all() + return render(request, 'rbac/menu_list.html', {'all_menus': all_menus}) + + +def menu_change(request, pk=None): + obj = models.Menu.objects.filter(pk=pk).first() + form_obj = MenuForm(instance=obj) + if request.method == 'POST': + form_obj = MenuForm(request.POST, instance=obj) + if form_obj.is_valid(): + form_obj.save() + return redirect(reverse('role_list')) + return render(request, 'form.html', {'form_obj': form_obj}) -- Gitee