【发布时间】:2016-07-05 15:26:49
【问题描述】:
我正在学习 django,遇到了 slug,我在发送参数到基于函数的视图时感到震惊
我的 urls.py
url(r'^(?P<slug>[\w-]+)/$', views.detail, name='detail'),
Views.py
def detail(request, slug):
post = Post.objects.get(id=slug)
comments=post.comment_set.all()
forms=CommentForm
if request.method == 'POST':
form=CommentForm(request.POST)
if form.is_valid():
comment = form.save(commit=False)
comment.title = post
print comment
comment.save()
else:
print form.errors
else:
form = PostForm()
模型.py
class Post(models.Model):
title=models.CharField(max_length=200)
description=models.TextField(max_length=10000)
pub_date=models.DateTimeField(auto_now_add=True)
slug = models.SlugField(max_length=40, unique=True)
def __unicode__(self):
return self.title
def description_as_list(self):
return self.description.split('\n')
def get_absolute_url(self):
return reverse('detail',kwargs={'slug':self.slug })
在views.py post = Post.objects.get(id=slug)的第二行视图中,我觉得这是错误的表示,正确的做法是什么?
任何帮助都非常感谢..提前感谢
【问题讨论】:
-
你能展示一下你的
Post模特吗? -
@ParagTyagi-morpheus-..我已经通过添加 models.py 来编辑问题...请检查
-
请检查我的回答。
标签: django django-urls slug