我有一个博客,我希望以下列方式构建我的网址:blah.com/blog/this-is-my-first-blog-post
其中this-is-my-first-blog-post
是一个特定博客文章的标题。
有没有办法根据我的表格中带有博客帖子的title
列生成这些类型的网址?
答案 0 :(得分:4)
您最好将网址密钥存储为SlugField。您可以使用slugify确定该值。
然后你的网址代码如下:
url(r'^(?P<slug>[-\w]+)/$','example_view'),
你可以使用get_object_or_404:
def example_view(request, slug):
instance = get_object_or_404(Model, slug=slug)
或者您可以使用docs。
中显示的DetailView CBV答案 1 :(得分:1)
有几种选择:
在django admin中,您可以在编辑时预先填充该字段。
prepopulated_fields = {'slug': ('title',), }
这需要放在admin.py
文件中。