- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想要 SEO 友好的 URL
,我在 urls.py
中的当前 url:
(ur'^company/news/(?P<news_title>.*)/(?P<news_id>\d+)/$','CompanyHub.views.getNews')
我在模板中使用它:
{% for n in news %}
<a href="{% url CompanyHub.views.getNews n.title,n.pk %}" >{{n.description}}</a>
{% endfor %}
我使用 news_id
来获取
news 对象与 PK
。我想转换这个 url:
../company/news/tile of news,with comma/11
到:
../company/news/tile-of-news-with-comma/11
通过在模板中做这样的事情:
{% for n in news %}
<a href="{% url CompanyHub.views.getNews slugify(n.title),n.pk %}" >{{n.description}}</a>
{% endfor %}
我检查了这些问题: question1 question2 question3还有这个article但他们在数据库中保存了一个 slugify 字段
,而我想按需生成它。此外,我想通过 news_id
运行查询。
我觉得这个question很好,但我不知道如何使用 news_id
来获取我的 news 对象
最佳答案
这将生成所需的 url:
{% for n in news %}
<a href="{% url CompanyHub.views.getNews n.title|slugify n.pk %}" >{{n.description}}</a>
{% endfor %}
上面的示例将 slugify_field
保存在数据库中,因为他们稍后会搜索它。否则在数据库中你将有一个正常的标题,以及用于搜索的代码中的标题。没有简单的方法来比较它们。但是你解释的方式更简单。你会有这样的看法:
def news(request, slug, news_id):
news = News.objects.filter(pk=news_id)
更新:要在 slugify 中使用 unicode 符号,您需要先进行转换。看看这个:How to make Django slugify work properly with Unicode strings? .它使用 Unidecode图书馆
然后添加自定义过滤器:
from unidecode import unidecode
from django.template.defaultfilters import slugify
def slug(value):
return slugify(unidecode(value))
register.filter('slug', slug)
然后在你的模板中使用这个:
{% load mytags %}
<a href="{% url CompanyHub.views.getNews n.title|slug n.pk %}
这是一个例子:
{{ "影師嗎 1 2 3"|slug}}
呈现为:
ying-shi-ma-1-2-3
关于python - 在模板中使用 slugify,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11455812/
我正在使用angular-slugify从标题输入中制作一个片段。但有什么办法可以恢复原状吗?我是 angularjs 新手,似乎没有用于标题恢复的资源。 UPDATE 如何在 angularjs 或
如果我有一个名为 Object 1 的对象,并且我想要 get() 该对象,但我试图使用一个 slugified 名称来获取它 object-1,有什么办法可以做到这一点吗?像这样的东西: Model
我的模型在slugify中有问题 from django.db import models from django.contrib.auth.models import User from djang
我想要 SEO 友好的 URL,我在 urls.py 中的当前 url: (ur'^company/news/(?P.*)/(?P\d+)/$','CompanyHub.views.getNews')
一旦用户登录到我的网站,他就可以写一篇文章并更新它。 然后我在添加允许人们发表评论的功能方面取得了进展。我正处于可以从后端添加评论的阶段,它们会准确地显示在前端。 现在,当我尝试更新帖子时,我收到一条
当我想从 product 创建新对象时,出现此错误: slugify() got an unexpected keyword argument 'allow_unicode' 这是我的模型: clas
我有点卡在这个问题上: 众所周知,django 有一个 slugify 模板标签,它使 traume-von-bucher 脱离 Träume von Bücher。 但从句法上讲,Träume 应该
我有一个像这样的模型: class Thing(models.Model): title = models.CharField(_('Title'), max_length=255) 我想添加
我希望我的冒号变成破折号而不是空字符串。我想我可以将 slugify(self.name.replace(":", "-"))) 之类的东西放入我的 save() 方法中,但那不会完全干燥(我认为)。
我正在考虑通过 diegok 转换 JS slugify 函数他正在使用这个 JavaScript 构造: function turkish_map() { return {
我想对一个对象的字符串属性进行 slugify 以在 url 中使用它。我读到在 play 1.x 中有一个名为“slugify”的函数,但我在 play 2.x 中找不到它 在 play 2.x 中
我已经开始使用 symfony2,并且我发现了 symfony 1.4 中存在的一些功能,例如 slugify。我需要这个来改善毛发。 最佳答案 如果你有 php-intl : /** * Tran
我正在尝试将以下 slugify 方法从 PHP 转换为 C#: http://snipplr.com/view/22741/slugify-a-string-in-php/ 编辑:为了方便起见,将上
我正在尝试这个 from django.utils.text import slugify In [8]: mystr = "This is john" In [9]: slugify(mystr)
我开发了一个表单,用户可以在其中添加他/她的 first name 和 last name。 对于 username(unique 属性),我设计了以下方法: FirstName:harrY Last
我目前正在使用 Django 开发一个玩具项目。 我的应用程序的一部分允许用户发表评论。我想获取评论的标题并将其修改以创建一个 url。 因此,如果用户写了一篇名为“The best thing ev
单击帖子类别时出现错误 字段 'id' 需要一个数字,但得到了 'coding'。 每个帖子都添加在下面的类别下是我的代码: 模型: class Categories(models.Model):
ASP.NET Core 2.2 引入了一个使用 Parameter transformer 来 slugifying 路由 url 的选项如下: routes.MapRoute( name:
这个问题已经有答案了: How to make Django create slug from unicode characters? (3 个回答) 已关闭 8 年前。 我正在尝试对 UTF-8 文
我正在尝试使用 django 博客应用程序项目中的 slugified url 访问页面。 问题模板代码如下所示: {% for post in latest_post_list
我是一名优秀的程序员,十分优秀!