我有记录的数据库,我喜欢使用" title"记录为文章的链接,但问题是模型slug没有定义。我不完全确定我是否可以使用urls.py和views.py来生成文章的url路径。 到目前为止,这是我的代码。
class ArticleView(ListView):
template_name = 'article.html'
def get_queryset(self):
article = self.kwargs.get('feed_title', None)
return article
def get_context_data(self, request, **kwargs):
context = super(ArticleView, self).get(request, **kwargs)
return context
和我的网址:
url(r'^(?P<article>[-\w]+)/$', ArticleView.as_view(), name='article')
答案 0 :(得分:1)
我解决了我的问题,我按照@Gary的建议将slugfield添加到我的模型中,然后我运行南迁移:
python manage.py schemamigration Myapp --auto
python manage.py migrate Myapp
然后为我所有现有数据创建slug字段条目。我用过Django shell:
python manage.py shell
from django.template.defaultfilters import slugify
from MyApp.models import MyModel
首先只是为了测试:
>>> for obj in MyModel.objects.all():
... obj.slug = slugify(obj.title)
... print(obj.slug)
然后生成slug并保存:
>>> for obj in MyModel.objects.all():
... obj.slug = slugify(obj.title)
... obj.save()
...
>>>
有了这个,我创建了超过3000个条目的slug-url。现在,我将重点介绍如何创建模板并使用url作为文章标题来提供每个条目。
答案 1 :(得分:0)