私はジャンゴ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() OUTPUT IS :
0|id|integer|1||1
1|title|varchar(100)|1||0
2|text|text|1||0
私がやろうとしているのは、URL でスラッグを使用することです。sth-like-this
そして最後に。
django管理者が必要な投稿のタイトルによってスラッグを自動的に生成するための prepopulated_fields が必要です。
しかし、私のプロジェクトでは、django の管理者を使用するつもりはありません。新しい管理ページをコーディングしています。
このために何ができますか?
ありがとうございました。