我使用 django 1.4。
我正进入(状态 :
DatabaseError at /
no such column: userside_post.slug
这是我的model.py
:
class Post(models.Model):
title = models.CharField(max_length = 100)
text = models.TextField()
slug = models.SlugField(unique=True)
def __unicode__(self):
return self.title
我的urls.py
:
urlpatterns = patterns('userside.views',
url(r'^$','index'),
url(r'^/(?P<postslug>_*)/$', 'userside.views.singlePost'),
)
我的views.py
:
def index(request):
post_list = Post.objects.all()
return render_to_response('userside/index.html',
{'post_list':post_list},
context_instance = RequestContext(request))
def singlePost(request,postslug):
post = Post.objects.get(slug=postslug)
context = {'post':post}
return render_to_response('userside/detail.html',context,context_instance=RequestContext(request))
和我的模板文件:
{% if post_list %}
{% for x in post_list %}
<p><a href="/{{ x.slug }}/">{{ x.title }}</a></p>
<p>{{ x.text }}</p>
<hr>
{% endfor %}
{% else %}
<div class="center">No records! ( but looks like code works correctly!)</div>
{% endif %}
这是 manage.py sql 用户端输出:
BEGIN;
CREATE TABLE "userside_post" (
"id" integer NOT NULL PRIMARY KEY,
"title" varchar(100) NOT NULL,
"text" text NOT NULL,
"slug" varchar(50) NOT NULL UNIQUE
)
;
COMMIT;
但 PRAGMA table_info() 输出是:
0|id|integer|1||1
1|title|varchar(100)|1||0
2|text|text|1||0
我想要做的是,在 url 上使用 slug。sth-like-this
最后一件事;
我希望 prepopulated_fields 通过帖子标题自动生成 slugs,需要 django 管理员。
但在我的项目中,我不会使用 django 的管理员。我正在编写一个新的管理页面。
我能为此做些什么?
谢谢你。