From 334856ea4772fd1da6c94d5b8bf73865a2889bc0 Mon Sep 17 00:00:00 2001
From: Adam Drake <drakeadam02@gmail.com>
Date: Tue, 26 Mar 2024 11:53:55 +0000
Subject: [PATCH] unique model ages using model id from database

---
 .../__pycache__/models.cpython-310.pyc        | Bin 2068 -> 2099 bytes
 .../__pycache__/urls.cpython-310.pyc          | Bin 692 -> 701 bytes
 .../__pycache__/views.cpython-310.pyc         | Bin 4726 -> 4854 bytes
 .../migrations/0008_post_slug.py              |  18 ++++++++++++++++++
 .../0008_post_slug.cpython-310.pyc            | Bin 0 -> 562 bytes
 prediction_service/models.py                  |   2 ++
 .../templates/prediction_service/home.html    |   4 ++--
 .../templates/prediction_service/model.html   |   2 ++
 prediction_service/urls.py                    |   2 +-
 prediction_service/views.py                   |   9 +++++++--
 10 files changed, 32 insertions(+), 5 deletions(-)
 create mode 100644 prediction_service/migrations/0008_post_slug.py
 create mode 100644 prediction_service/migrations/__pycache__/0008_post_slug.cpython-310.pyc

diff --git a/prediction_service/__pycache__/models.cpython-310.pyc b/prediction_service/__pycache__/models.cpython-310.pyc
index a816c8d5f45461aab09635255c5b3db20fb18242..15590b8ccf50e016329f9c1ec0390f98530e20b8 100644
GIT binary patch
delta 186
zcmbOtuvvgNpO=@5fq{WRZVgkK<wo8#R>rc)C9JAJSsW>>DQvxrQJksF3%C|CL~*Aw
zXYr)+X7PbV`BRy*1X2Z4nX`ma*n63xgu#3fFrPJrqn9~KG=(!&ER89JD}}p-B}zPn
zb@F{y8D2k4#v&C428JSb1_p-79Be6!dXsb6BpD?px3g&o-r@|-DNT3FOwCET#ZsJ8
bnm&0wTL+&I0|NsG0}mqzaxhJHX1@pkq{u4}

delta 174
zcmdliFhzhjpO=@5fq{XccR5oU&qm%fR>rK!C9JA$3pf@sL~*7vXK|%+XYr)4_A*BC
zrZQ*orShjTX9=XR^)f{Xg84#VK6?sBFLRV|3TLWF8dC~a3U>=jlxPb3<kze+yqb(f
zDhvz^MeGa=41SYE*ixi*7#J9enHU%t*chvL0`iMX^y1@-ON!#-HN_@RX49B_hOL7~
UfPsO5gMo*UhmnJEauWMR0C3JGg#Z8m

diff --git a/prediction_service/__pycache__/urls.cpython-310.pyc b/prediction_service/__pycache__/urls.cpython-310.pyc
index 6bf177723f1d0bf87a5345a8a1cfc8157772fefc..9f2994d2839fc75aa767c828c4981c8223b8366f 100644
GIT binary patch
delta 80
zcmdnOx|fwVpO=@5fq{V`XERgU<&C`S7zG7$b8_=jQgifeic5;D3bO4cA7*Tozr_v}
fzQtWylv9vcQj%JfSG<y;NRWYnp-6CYI+HH|35ptR

delta 71
zcmdnXx`mZDpO=@5fq{X+#Qa0*$&I}07&$m{b8_=jQgbGsVQiI;Vu$i>ahDe56eO0E
Wq!#5BuVg3^U|?V<5|~`T<O={Kmlp#7

diff --git a/prediction_service/__pycache__/views.cpython-310.pyc b/prediction_service/__pycache__/views.cpython-310.pyc
index 437076524b6908ca7b4458e7e053daadbcbc497f..0dc6061a5ae930dd20530bcc4a1593620eaa8778 100644
GIT binary patch
delta 1358
zcmeyS@=cX5pO=@5fq{X6Zwpfzqu@k78O9?MwO#62QrL4ibGf6q85vR-QaEyWa(Sb8
z85vU9QaDq%S{Rxcqxe#|Q+Qe!qWDvIQ}|jKq6AVHQuuQOqXfaUP?Qju7LF1D)1tXz
zQQ}~;_;VzpBvKes1ac&ErJ|&uV$xC4scb2NDMDbgW!O^qgBdi1C%%a0VE6U$%}+_q
zne4#0m{DNz6Gm-e0R{$!Vh#od1{M~U|9mVwOhrPIm6)>C`4|`&ia?SOLXd%h;TCIR
zQhsTPG)M;%0|SEqW0A<@Ell4SMJKOjcB}{MkN{~D0}*I?If_!#GmA@7i{wGtMHm<u
zxR|&YIhZ(@c$h>OIT)FKv2h46gJu0R8E>(A<|d}6CWEX2g(wK~GB7a6FfcGUgA52^
zWMC*^$YRW5s$ooF>}9NFk|<%WVaj4@W~^l{VO_wM&XB^ih!I3iE@X*h6qtOPMY&!S
zA_6BR7c$ne)Uaf+r-(^1)UtwE;*t!tY$Y67oGIcd;wcg-lD*6^OttK_95ozSTs15y
zQYq5COpFXA+zWUXGSqU`uxIhsaHhzl$bv*`I2Z7xh%IDfWGLZZAW*}(kg=8vs*<~g
z%Q{Q2hC4+LqO?S4fp87?0+EFb3mF%PrpPa3tmP>Yt6@k{sNtz$PEnl0)XW^rps553
z4W`VL$%0(slMk>)PTs)EKY0R|_+$gNn~W-x8@W{`>#?^mYE9nA;X3&TyCsChwjC4&
zhLdYK>KF|t|KZSMQ-=r~WVN51&&kbZ$iTqxQg$*Urw04W`7kL50WB~SBzFTu2ux<=
z)MT>-3r;@BYA`vDOBA9tdU7G39!zE}mjkyqNc|s>N<EO2j~9sl7eu@T5$8cNL2x1f
z!~(nF7fAL4h-(32^@CV0AQmX9U%mu!gC~FFHd1|A4ieo65{SekUM7LWEGHjimEn1r
z24aIuFVdg<k-HM&;?Bt*xr=#<VqkJFEfE4Q|AWkqLkJXsbiYhM6DZO_5{L&G1QkdG
zu|ZmjbS58URhrzx&%>BBc_x3PfhN-}_RQS$_~MeHTdX;Wm8nIV;zgVw<vbul7L=`+
zL6U4>$>Pa>`8{|PK%y-91*v&O(vt%P^yGPqK$+_nQ$hAE_S~FYP!^8j0&7UlFU>2N
z+$vzJo&qutHPaQ9FfcG!g0l;#RAT00<YJoqQ9yH&Ajf1WL2+IVCMHIX|6o;`vXiX@
z^O=e`CodCJPz9A@MM5A0K^YaCDQ_|57Z+tSFfc^1=9T6aR2F4Sek~{;lm!;aEyzhR
zzQr8i=~D!9dr>|}E68$4;eqO^TO2mI`6;D2sdkJYr)hvn5(XY79!4HE5IH$YNCp5n
C`#Ylm

delta 1192
zcmeyS`b~u|pO=@5fq{WRd*g>xD}jl8GK@PWYP-}kq_F33=ki4HFfydFrEsKhwlFj^
zM)9U_rEs?}MDeBYr0}*dMDeFEr10ekL<xXt!6-p6EfggTrbTi^qr?~)z-;j-@f3y>
z{v3&1$tX#vm{gQhDqD&`iXhl*=@h<T22G)tAjfD<{1rMmig5uW|K#6{+QR${3=G8_
z3=9k`EG+-|Sa_I<1SeZEWvlZtFfbH>Bq4+V0|Ub?*2JXz(h@0<4kiW$1_8z*;mN0&
zzA=hSKE&*(0oEZ7(k2Qb(DZT?rKV>Vm!uZSP1a_Sb&z9VVDQsqyv6F7o0y)O%m{KB
z6oZ0HhJk^>8Dx(YBLhPT!ve;1h7`s{NaW;MERl@-lfSSi*CWIw7c$l|)-Yx<rHD#0
z)G~otVv-EC%q7fOEGc3sVkzP&61~hZOtmbvtTn7ztTl`&k||QXOpFXAYzx>IGSsrw
zuw-%6u%$?+$bdv^*cNc6h%RJgWGLZUz+J<(kg=8>s*<CIJ&UJ?BSlshqO^o}0bdQr
z0{(>z3mF#(q{uB~tmP~btYJuzPf@7h%w%k44rb6)^xJ%qHJ_1DX|f~x3Pz2|AK6?d
z>vLE_Slrt|!KTl^!0@tm@<tww$qzXK*}z<j$s2hz*;K*OlLguA1z&=K`Q>x407$(o
zSp9uYHb(u)AK4t(G{7>Gb-0Y#tRYN6HiOAixkMr6MNbxF6Q3NwCJvK*!sWo`2{P!<
z<avBDAQ>MI5ce;Lcnc!VgNzA)6Mi5T*loW+vL8TPGZ3pE#Bu_$KvDP-l;Vm4CkwKH
z3>BMvo10rI9Hau3c$oweGoL(>LzX)Y!~~gKqzly+&hv65Oz>qVR4{@q3M@8Rk++gD
zYVvH}I+%bwUnMt04x~T}rXC^|iz*fm;({&Hn!J!-k1=8L1^!6xTkM&+>G8!SMVdmB
zBLzHo<UwhlCBGmwuSjb0S^+&at|CxcpZrU}Rvqkew4~0So0FTLlA2=yO29r03=CY%
zlM@8>C-(|UatbgN6)-R`Xv$39ESNu8T}W1y6XXU#5FrdAKpEo}Q+{y~C?KL(^Gb6I
zDvOdQX9~#&q%trtM6u=;<fItiVh-^1DFQjHC<~+uWF{n|qPc~`CO1E&G$+*#l*5YE
UK)IHIhlz)ghmD76@+~150LtJC)&Kwi

diff --git a/prediction_service/migrations/0008_post_slug.py b/prediction_service/migrations/0008_post_slug.py
new file mode 100644
index 0000000..b91f7c3
--- /dev/null
+++ b/prediction_service/migrations/0008_post_slug.py
@@ -0,0 +1,18 @@
+# Generated by Django 4.1.4 on 2024-03-26 11:05
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('prediction_service', '0007_post_mlmodel'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='post',
+            name='slug',
+            field=models.SlugField(default=None),
+        ),
+    ]
diff --git a/prediction_service/migrations/__pycache__/0008_post_slug.cpython-310.pyc b/prediction_service/migrations/__pycache__/0008_post_slug.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c55ea3f9c19189f3acf952c4eafae7bb8abaf704
GIT binary patch
literal 562
zcmd1j<>g{vU|_hrnklV;k%8ech=Yt-7#J8F7#J9e)fgBUQW#Pga~N_NqZo6UqL>&N
z+!<1sQkYv9QkYX2vzVKiqnJ}zf*CYfUxG}~WV*$bo0(peSdy8aSA2^tH$Npcr#KlT
zg^bx?7U(cAFr+d>F{Us?F{Lo3Ge$9|vShJ>EJ$U`Voza7VeMs1Ve4g1XN=+iTf=^f
z(-&sGCetmUf}+%v%w&*l@x`e{WtqvTQGx~r2Ilbv`NbvixjA45++qRoZm|^Sl&1S>
zGTvfONli;E%_-4jzQqMr5TBQrn|g}{OtPkBrskw*a^B*I2Mfo?-{Ojo&&^LM%}I@q
zzr_<DUs#%$15yg&rKA?5=B1?OC1<7<7cns~Fx=vBOi6JA8BxRx;&KM(l%|9Ex47~P
zQlTNUlA%bLfdNANGSN>gDA33Bi9RAE^$iRREFgXYc|xzCvIrDOpl~b}Vqjq4U|?cq
z`Om`2#K^?R#mMrP<3Cv5Pm|>qXG&ILUV6S>N)p(8U{`@95iWqRL_p5vuz~p0ju909
KAUgz@#Fzou{*wm)

literal 0
HcmV?d00001

diff --git a/prediction_service/models.py b/prediction_service/models.py
index bf14a76..22fa64a 100644
--- a/prediction_service/models.py
+++ b/prediction_service/models.py
@@ -35,6 +35,8 @@ class MLModel(models.Model):
 class Post(models.Model):
     id = models.AutoField(primary_key=True)
     title = models.CharField(max_length = 100)
+    slug = models.SlugField(default=None)
+
     content = models.TextField()
     date_posted = models.DateTimeField(default = timezone.now)
     author = models.ForeignKey(User, on_delete=models.CASCADE)
diff --git a/prediction_service/templates/prediction_service/home.html b/prediction_service/templates/prediction_service/home.html
index 8bfd38c..295a48d 100644
--- a/prediction_service/templates/prediction_service/home.html
+++ b/prediction_service/templates/prediction_service/home.html
@@ -11,10 +11,10 @@
             {% for post in posts %}
                 <div class="card" style="width: 18rem; margin-right: 15px;">
                     <div class="card-body">
-                        <h5 class="card-title">{{post.title}} ID: {{post.id}}</h5>
+                        <h5 class="card-title">{{post.title}} ID: {{post.mlmodel.id}}</h5>
                         <h6 class="card-subtitle mb-2 text-muted">By {{ post.author }} on {{ post.date_posted }}</h6>
                         <p class="card-text">{{ post.content }}</p>
-                        <a href="/mlmodel/" class="card-link">Ml-Model</a>
+                        <a href="/mlmodel/{{post.mlmodel.id}}" class="card-link">Ml-Model</a>
                         <a href="#" class="card-link">Another link</a>
                     </div>
                 </div>   
diff --git a/prediction_service/templates/prediction_service/model.html b/prediction_service/templates/prediction_service/model.html
index 28dad7b..8aabd3e 100644
--- a/prediction_service/templates/prediction_service/model.html
+++ b/prediction_service/templates/prediction_service/model.html
@@ -8,6 +8,8 @@
     <h1>ML-Model</h1>
 
     <img src="data:image/png;base64,{{ img_str }}" alt="PIL Image">
+
+    <h1>{{ layer }}</h1>
     
 </div>
 
diff --git a/prediction_service/urls.py b/prediction_service/urls.py
index 3c49ac2..154dbe9 100644
--- a/prediction_service/urls.py
+++ b/prediction_service/urls.py
@@ -12,5 +12,5 @@ urlpatterns = [
 
     path('about/', views.about, name='MLAAS-about'),
     path('home/', views.home, name='MLAAS-home'),
-    path('mlmodel/', views.mlmodel, name='MLAAS-model')
+    path('mlmodel/<str:pk>/', views.mlmodel, name='MLAAS-model'),
 ]
diff --git a/prediction_service/views.py b/prediction_service/views.py
index 9baf72e..d6cf0aa 100644
--- a/prediction_service/views.py
+++ b/prediction_service/views.py
@@ -10,6 +10,7 @@ from django.contrib.auth.decorators import login_required
 from .forms import UserRegisterForm
 
 from .models import Post
+from .models import MLModel
 from django.contrib.auth.models import User
 
 @login_required
@@ -54,7 +55,10 @@ from PIL import Image
 import base64
 
 @login_required
-def mlmodel(request):
+def mlmodel(request, pk):
+
+    mlmodel = MLModel.objects.get(id=pk)
+    layercount = str(mlmodel.layers)
 
     matrix = np.asarray([[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
                      [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
@@ -99,4 +103,5 @@ def mlmodel(request):
     img.save(buffered, format='PNG')
     img_str = base64.b64encode(buffered.getvalue()).decode('utf-8')
 
-    return render(request, "prediction_service/model.html", {'img_str': img_str})
+    return render(request, "prediction_service/model.html", {'img_str': img_str,
+                                                             'layer': layercount,})
-- 
GitLab