Django个人博客搭建教程---使用django-uuslug扩展你的url

之前我的博客详情页面的url是这样的

https://www.guanacossj.com/JiaBlog/article/107/

短小精悍

使用了django-uuslug之后的url是这样的

https://www.guanacossj.com/JiaBlog/article/107/2020xin-nian-kuai-le/

1、安装django-uuslug

pip install django-uuslug

2、修改文章表

class Articles(models.Model):
    id = models.AutoField(primary_key=True)         # id
    title = models.CharField(max_length=150)        # 博客标题
    ...
    url_slug = models.SlugField(editable=False,max_length=200)

3、重写保存方法

class Articles(models.Model):
    id = models.AutoField(primary_key=True)         # id
    title = models.CharField(max_length=150)        # 博客标题
    ...
    url_slug = models.SlugField(editable=False,max_length=200)

    def save(self, *args, **kwargs):
        self.url_slug = slugify(self.title)
        super(Articles, self).save(*args, **kwargs)

4、同步数据库

python manage.py makemigrations
python manage.py migrate

到目前为止,其实还是没有生成slug,需要再次保存每一篇文章才可以,到admin里面,挨个打开文章,然后保存,有点蠢,不过我还没想到更好的办法

5、修改url

这里由于多了一个参数,记得把函数也改一下,加一个入参,不处理就行

urlpatterns = [
    ...
    url(r'^article/(?P<article_id>[0-9]+)/(?P<slug>[-\w]+)/$', views.blog_info),
    ...
]

6、修改html的链接

<h2><a href="/JiaBlog/article/{{ i.id }}/{{ i.url_slug }}" target="_blank">{{ i.title }}</a></h2>

类似这样就可以了

发布了214 篇原创文章 · 获赞 72 · 访问量 152万+

猜你喜欢

转载自blog.csdn.net/ssjdoudou/article/details/104069063
今日推荐