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>

类似这样就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值