我正在制作一个小网站,通过它来学习django
所以我创建了一个名为Writer的数据库模型
class Writer(models.Model):
name = models.CharField(max_length=20);
我做了一个观察(控制器)来注册作家
def addwriter(request,name):
nimos = Writer(name=name);
nimos.save();
return render_to_response("addJournalist.html",{"name":nimos.name});
及其网址:
(r'^new/(.+)/',addwriter)
注意:我知道应该使用帖子形式来完成,但我这样做是因为这本书还没有达到表格。
当我访问网页中的作者时: 图
def mainjournal(request):
writers = Writer.objects.all();
return render_to_response("journalMain.html",{"writers":writers});
模板部分 {%block content%}
{% for writer in writers %}
<p>{{ writer.name }} and his id is {{ writer.id }}</p>
{% empty %}
good luck finding writers man
{% endfor %}
{% endblock %}
它为我提供了每个名称,我在另一个视图中添加了三个名称:
示例(在网页中添加了george):
乔治和他的身份证是22
乔治和他的身份证明是23
George / img和他的身份证明是24
我不知道为什么所以我问你为什么
答案 0 :(得分:1)
在您的添加者视图中添加一些日志。就像这样
logger = logging.getLogger(__name__)
def addwriter(request,name):
logger.debug("the coming request is: {}, and the name is: {}".format(request, name))
nimos = Writer(name=name);
nimos.save();
return render_to_response("addJournalist.html",{"name":nimos.name})
我想你就像@Rohan说的那样,你向这个观点发送了3个请求。你的python代码工作正常。
这是我天真的测试代码
from django.test import TestCase
from .models import Writer
class WriterTestCase(TestCase):
def test_writer_name_function(self):
for i in range(3):
self.client.get("/new/George/")
writer_set = Writer.objects.all()
self.assertEqual(writer_set.count(), 3)
PS:在添加记录器代码之前,请确保已在django中设置日志记录
答案 1 :(得分:1)