diff --git a/boards/__init__.pyc b/boards/__init__.pyc index 5bb8ea45bc6bc1b07d9c460191a3622d96c3e8aa..117d68981c1a6e79e2bf8fc9a16acb534d196cbf GIT binary patch literal 143 zc${PY%*$0_6A+lp00oRd>;S~YEI=ZKfgxA}B;uz5l0zekEr5i6ihg;1QMP_TWl2VU zo_%e9vW; z^~|o=FD^e;>&*^+RzYz~k)8-NZG;KHA#@1Hynv|yC!iDHO6W>(6?7G#K^V_qJO?A- z3;*)+AFpPv1w6=-OzeS{M7rgQpx4fNDVTD09a7HB9{XX=-*Nt4UU0#ZdmMW|gk~3f zj&|Gf40%DY4Sm$9aY36YwJhKAZ0$)o*=#b)L^IfwO_coi7t%F>(&|0L7xns?pMzIN iGv&>!emaj{YHq!uQdV7&^V?)@*g5e-jaNmDHGTseR!dy~ diff --git a/boards/forms.py b/boards/forms.py new file mode 100644 --- /dev/null +++ b/boards/forms.py @@ -0,0 +1,8 @@ +from django import forms + +class NewThreadForm(forms.Form): + title = forms.CharField(max_length = 100) + text = forms.CharField(max_length=150) + image = forms.ImageField() + tags = forms.CharField(max_length=100) + diff --git a/boards/models.py b/boards/models.py --- a/boards/models.py +++ b/boards/models.py @@ -1,4 +1,5 @@ from django.db import models +from django.http import Http404 from django.utils import timezone NO_PARENT = -1 @@ -68,7 +69,7 @@ class Post(models.Model): title = models.CharField(max_length = 100) pub_time = models.DateTimeField() text = models.TextField() - image = models.ImageField(upload_to = DIR_IMAGES) + image = models.ImageField(upload_to = DIR_IMAGES, blank = True) poster_ip = models.IPAddressField() poster_user_agent = models.TextField() parent = models.BigIntegerField() diff --git a/boards/models.pyc b/boards/models.pyc index 73dcc95b0a233b106f3ad7f3557b46868cb81f41..3e9b66e9514d6e02443df4df6bd533306c6f3225 GIT binary patch literal 4095 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 diff --git a/neboard/__init__.pyc b/neboard/__init__.pyc index 0976f32ba0892f13c81f66569119c0834f3d7378..16d217b8db3d0461a917843a5930f9f09c6856cf GIT binary patch literal 144 zc${PY%*$0_6A+lp00oRd>;S~YEI=ZKfgxA}B;uz5l0zekErEo7ihg;1QMP_TWl2VU xo_bIlbfGXnv-e=vZEMeCIC%LA9Mf! diff --git a/neboard/settings.pyc b/neboard/settings.pyc index fe2d4cb3c214fc918e18d292aaad626843615777..2c804fff6aebd63ba8e8d8389721381bd3737821 GIT binary patch literal 3379 zc%0o9X>-#?^!bProQo1#t`>Sw#tFqHO>m$bMObq1U|X)F3{)Sgk-Zy7AWKHOCV@|# z=}+ztXy02I+bwSCmrjSq+2h^U?$hReT`iv6>-^Az@!t}Thd2b!05JT|KnUOhAnay= zXTi+@y8~_>cplsZ2r>{9fMtQ@pvv;V7H~ntV!AA)%c*oJ;<5}?7q=_mE&^KxcL~@U zxTlnXqMDc0yaFiUuBv%W&FjF{!95Ke;Q2@J{0#67_$34EG@Ls`fwREA1NUQK8{mEd z>@K+HfZYT4Jh1!VUI2C(+>5}jfO`qp18_eD_C2_tL9jp`uuZ7)%fPmvN+F@z>%hK2 ze{bL@r$~&v0_>(j_K^e8Y#Z3Oxa{EAop9|aGQwkijECJqsET6`gYY$7R+ncm3WA9x+iCFT+6c9a%uK(cW*g4Y5p|zVy4k;K(cU2)DJC zA*qN8IBNGC!$0OOWd-tXM>IJ*LE3S^J$GxM$*4CS!Hg`|%+}zwd ztiCA)*Zjfo?yXx7cIVU#wFPk`X2tCkHzPQw*vhRLAq`<3VYnFb`-~3IfZykTFxpCS zGlDB97;$x4%cCR|;`|KaSo8xbVK_D@PtpAu*I0;+`3{Rq@8VTzBPm}GQSRJdXGol# zLkr}5p|=svc7{3EWS&l+4T4CujP#5ry)f?gkuJWR zDjUfl6nND8WeZOho^qXcNBz1VVl-J~D{V?jQIZlpMpW;R$jTf#CsCuMUSe35X{lYv zU-59h6^)!W27VAe_9HA{q6B)OFNCB9MHEj(CRA@bO1Xq88y@PR->15*O?8iNgmPyb zV8F<8YLq34;lF5Iso{US36-ePe^{L;b@_kXj!N`3wdm}YX!_tgj72xE^aXWII@7UG zuL~y`admZd^vX4tlg^fTmtL)V+eQ_Vt- zCcgDBZS={b2*_=esw?GB?fr(Qbvn&P4V^LDDxK4+kgHTDtcasEn}$xjwkl$M($Jgc zK0ZJ9n<# lX@(5_Xb)M1%@I$ERlh9c3QMU@(!HKbEfmMQBJR%=eg`TJ&9ndj diff --git a/neboard/urls.pyc b/neboard/urls.pyc index a5077f3e95dec0dde556a3f00d3310520b54d5e6..d58cb4fd9f4a560dd97c283e6431e1d1485dc69f GIT binary patch literal 473 zc${TV%TB{E5FFc0pMZMgzz5`1pSV?sFF+7(IaEqx11X7J#SV{iKA8`I-Lw@#Sn*~b zjX*BYNaPZYLarcqCQ*;jB*+s8n_xFa56T3L zf>kghSP33Xu$!V6=;hE)xNpYCPEUk0m7(Y7u`R#v&P?u?B* z?b&Ba|wl}Oau$wEj6mvPAU5X!bg=d)n diff --git a/neboard/wsgi.pyc b/neboard/wsgi.pyc index 2f5aed178ed3321f923e1ed1dba69c99e7a0db8b..b7a33052a2061b42e5a7880cee881c9b4ad7481d GIT binary patch literal 1040 zc${@p!EVz)5M8HDK?Vd8i1Xa&0h|-J3Q=gOf=XIQDx_ZQ&F;kBbiHfsu9N26J3q?@ zz^r4bK^0a!v1e!Aym>R;`~57vJ-YlZSby!&{gH0}iHv0Inry=4fa!!?Ckzv|9I)jc zll0qXcLSEh;~~@gtRAxKAxm(`?kMjdCQT0yBG#_~W9iT7*%*X13su6xIxsl5+(~Gh zU7`qCn$9Zap|-Ns7y|=W#zUwOx>VjYS_vMMHPCvLFyFw*lAF@L@gQ-9+BP+s03O{6 zUCNCFZZ;8LwxUbxa3nU`Zepa*U`*kaZM6ivZLCM&J%M*RBEpJ0#pfDR!)q#86gw=6 zBD*J06s|Sf%0&UOcIR1$QqjAxbxl6vsl2d}U5LHzwzN{b>$NB%%l!EA@_hXHcs9P6 zP`<|ylqpH0E8lXhH?XlStd-VK@fCK7K2U`y=$6w%(JFNK7UpdL6@Y7R(^{2PfSTV> zHWGUX797dL#TIg1SsKOv@YX6+q?c%Yur*kN)D#b(c|b=hYb@!>N6d)Tqfl4|UugVz z%j-rHq1cJ&MxadSX0;tSv6E8cnmg>NQx*w1S0;|B$9qV~{Nu9=@>n9^(uJcLuC2Qv z8Py-UCgC-0=gHUO$=O9dJ)O{M5goqkcuRUVeX=kTbj@Q)0;1zEt^6 zt;0w0G@3k@R^)l0wP)6ME;K9UXs6ToJz$Wy;H?fJR*_vNnXnGCi20+d@`TJTc>Fl; wjek#OBuBBGQL_n^HKQ%gs3-m4KSE~|`j|40woCrud4!6NgXHPp diff --git a/templates/posting_general.html b/templates/posting_general.html --- a/templates/posting_general.html +++ b/templates/posting_general.html @@ -2,12 +2,24 @@ {% block content %} - {% if threads %} - TODO: need to implement message list - {{ threads }} - {% else %} - No threads found. - {% endif %} + TODO: Need to implement field checking +
+ + {% if threads %} + + {% for thread in threads %} + {{ thread }}
+ {% endfor %} + {% else %} + No threads found. + {% endif %} + +
{% csrf_token %} + {{ form.as_p }} + +
+ +
{% endblock %}