Skip to content

Commit 779447b

Browse files
committed
finish 0023
1 parent 72557bd commit 779447b

File tree

14 files changed

+369
-0
lines changed

14 files changed

+369
-0
lines changed

zentst/0023/manage.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/usr/bin/env python
2+
import os
3+
import sys
4+
5+
if __name__ == "__main__":
6+
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
7+
8+
from django.core.management import execute_from_command_line
9+
10+
execute_from_command_line(sys.argv)

zentst/0023/messageboard/__init__.py

Whitespace-only changes.

zentst/0023/messageboard/admin.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from django.contrib import admin
2+
from messageboard.models import Message
3+
4+
5+
6+
class MessageAdmin(admin.ModelAdmin):
7+
fieldsets = [
8+
(None,{'fields':['name']}),
9+
('context',{'fields':['context']}),
10+
]
11+
list_display = ('name', 'context', 'vote_date')
12+
13+
admin.site.register(Message, MessageAdmin)

zentst/0023/messageboard/models.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from django.db import models
2+
3+
# Create your models here.
4+
5+
class Message(models.Model):
6+
name = models.CharField(max_length = 20)
7+
context = models.CharField(max_length = 200)
8+
vote_date = models.DateTimeField(auto_now_add = True)
9+
10+
def __unicode__(self):
11+
return self.context
12+
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
for test
2+
{{messages}}
3+
{% for each in messages %}
4+
<li>{{each}}</li>
5+
{%endfor%}
6+
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<html>
2+
<head>
3+
<style type="text/css">
4+
div#container{width:700}
5+
div#header{background-color:DarkSlateBlue;text-align:center}
6+
div#message{background-color:PaleTurquoise}
7+
div#foot{background-color:DarkSlateBlue;text-align:center;}
8+
</style>
9+
10+
<title>留言薄</title>
11+
</head>
12+
<body>
13+
<div id="container">
14+
<div id="header">
15+
<h1>留言薄</h1>
16+
</div>
17+
18+
{% if error_message %}
19+
<p><strong>{{error_message}}</strong></p>
20+
<input type=button value="back" onclick="location='{% url 'index' %}'">
21+
22+
{% else %}
23+
24+
<form style="background-color:lightblue" name="post" action="{% url "postmessage" %}" method="post">
25+
{% csrf_token %}
26+
请尽情留言吧
27+
</br>
28+
</br>
29+
<table>
30+
<tr>
31+
<td>姓名</td><td><input type="text" name="name"></td>
32+
</tr>
33+
<tr>
34+
<td>内容</td><td><textarea rows="5" cols="30" type="text" name="context" align="middle"></textarea></td>
35+
</tr>
36+
</table>
37+
<br />
38+
<input type="submit" value="提交">
39+
<br />
40+
</form>
41+
42+
43+
<h3>历史留言</h3>
44+
<ol>
45+
{% for each in messages %}
46+
<li><p>{{each.name}} 留言于 ({{each.vote_date}})</p>
47+
<div id="message">
48+
<p>{{each.context}}</p></li>
49+
50+
{%endfor%}
51+
</div>
52+
</ol>
53+
{% endif %}
54+
<div id="foot">
55+
messagebook for zentst
56+
</div>
57+
58+
</div>
59+
</body>
60+
</html>
61+
62+
63+

zentst/0023/messageboard/tests.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"""
2+
This file demonstrates writing tests using the unittest module. These will pass
3+
when you run "manage.py test".
4+
5+
Replace this with more appropriate tests for your application.
6+
"""
7+
8+
from django.test import TestCase
9+
10+
11+
class SimpleTest(TestCase):
12+
def test_basic_addition(self):
13+
"""
14+
Tests that 1 + 1 always equals 2.
15+
"""
16+
self.assertEqual(1 + 1, 2)

zentst/0023/messageboard/urls.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
from django.conf.urls import patterns, include, url
2+
from messageboard import views
3+
from django.views.generic import ListView
4+
from messageboard.models import Message
5+
6+
7+
urlpatterns = patterns('',
8+
url(r'^$', views.index, name = 'index'),
9+
url(r'^postmessage/$', views.postmessage, name = 'postmessage'),
10+
)

zentst/0023/messageboard/views.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
from django.http import HttpResponseRedirect
2+
from django.template import Context
3+
from django.shortcuts import render
4+
from django.utils import timezone
5+
from django.core.urlresolvers import reverse
6+
from messageboard.models import Message
7+
from django.views.decorators.csrf import csrf_exempt
8+
9+
# Create your views here.
10+
@csrf_exempt
11+
def index(request):
12+
messages = Message.objects.all().order_by('-vote_date')
13+
context = {'messages' : messages,}
14+
return render(request, 'message/index.html', context)
15+
16+
17+
def postmessage(request):
18+
postname = request.POST['name']
19+
postcontext = request.POST['context']
20+
if postname == '':
21+
return render(request, 'message/index.html', {'error_message' : 'You did not input your name',})
22+
elif postcontext == '':
23+
return render(request, 'message/index.html', {'error_message' : 'You did not input context',})
24+
else:
25+
m = Message(name = postname, context = postcontext, vote_date = timezone.now())
26+
m.save()
27+
return HttpResponseRedirect(reverse('index'))
28+

zentst/0023/mysite/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)