标签: slug

在 Django DetailView 中使用“Slug”时出现问题

模型.py

class Tag(models.Model):
    name = models.CharField(max_length=64, unique=True)     
    slug = models.SlugField(max_length=255, unique=True)

    def save(self, *args, **kwargs):
        self.slug = slugify(self.name)
        super(Tag, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)


urls.py

url(r'^tag/(?P<slug>[A-Za-z0-9_\-]+)/$', TagDetailView.as_view(), name='tag_detail'),      
Run Code Online (Sandbox Code Playgroud)


视图.py

class TagDetailView(DetailView):
    template_name = 'tag_detail_page.html'
    context_object_name = 'tag'
Run Code Online (Sandbox Code Playgroud)


嗯,我认为这不会有任何问题,因为 Django 的通用 DetailView 将查找“slug”或“pk”来获取其对象。但是,导航到“localhost/tag/RandomTag”会出现错误:

错误:

ImproperlyConfigured at /tag/RandomTag/

TagDetailView is missing a queryset. Define TagDetailView.model, TagDetailView.queryset, or override TagDetailView.get_queryset().
Run Code Online (Sandbox Code Playgroud)


有谁知道为什么会发生这种情况......???

谢谢!!!

python django slug django-class-based-views

3
推荐指数
1
解决办法
2589
查看次数

Woocommerce 自定义产品别名

有没有办法根据产品属性创建自定义产品 URL,我有一个产品太阳镜,它有几个与之相关的属性:金属、蓝色和圆形,所以当前的 URL 是:

website.com/glasses/sunglasses/abram-widana-629/
Run Code Online (Sandbox Code Playgroud)

我想要获取的是包含以下属性的 URL:

website.com/glasses/sunglasses/abram-widana-meta-blue-round-629/
Run Code Online (Sandbox Code Playgroud)

如果有人能指出我如何解决这个问题的正确方向,我将非常感激。

wordpress seo slug woocommerce

3
推荐指数
1
解决办法
6084
查看次数

str_replace函数

当前代码仅将空格替换为破折号( - )

$url = str_replace(' ','-',$url);
Run Code Online (Sandbox Code Playgroud)

我只想在URL上允许使用字母,数字和短划线( - ).

让我知道这些技巧.

php regex url slug

2
推荐指数
2
解决办法
4533
查看次数

wordpress如何能够取消标题

我仍然,不明白,wordpress如何理解这个网址是什么参考:www.mysite.com/about-me/

他们没有使用标识符

如果他们使用slug函数,以便他们如何保留故事信息,或者换句话说,他们如何改变被扣押的标题以从数据库中选择

php url wordpress slug

2
推荐指数
1
解决办法
1401
查看次数

如何编写正则表达式只匹配数字,字母和短划线?

我需要一个只接受的表达式:

  • 数字
  • 普通字母(无特殊字符)
  • -

也不允许有空格.

示例:正则表达式应匹配:
this-is-quite-alright

它应该不匹配
this -is/not,soålright

regex validation url slug

2
推荐指数
1
解决办法
1852
查看次数

在urls.py中遇到让slug正常工作的问题

在我的urls.py中使用slugs,我遇到了一个问题(可能是由于我对这个问题缺乏了解).

Urls.py
url(r'^admin/', include(admin.site.urls)),
url(r'^search_form/$', search_form),
url(r'^search/$', search),
url(r'^search_results/$', search_results),
#url(r'^search/search_results/acetic-acid/$', item),
url(r'^(?P<slug>[-\w\d]+),(?P<id>\d+)/$', item),
Run Code Online (Sandbox Code Playgroud)

这里是html链接href ="search_results/{{chemical.S_field}} /"> {{chemical.Barcode}}其中chemical.S_field slug字段基于项目名称的细分版本.

我正在尝试创建一个页面,网址和视图,以便能够将用户带到一个模板,该模板将根据他们点击的链接进行更改.

例如,如果你有毛狗,毛猫,蓬松的鸟.如果用户点击毛茸茸的猫,那么slu will将成为毛猫,并且用户将被带到一个页面(搜索/ search_results /毛茸茸猫/将拥有将从数据库中显示的毛猫的各种信息.

我觉得这是可能的,但每次我尝试使用slug(也许我做错了)它会显示^(?P [ - \w\d] +),(?P\d +)/ $而不是存储在slug中的信息.

还有一个地方有关于django的教程或良好信息吗?我已经浏览了网站上的django教程以及Django Web开发权威指南中的django教程.

谢谢,

编辑 我可能不清楚之前应该选择一个更好的例子.我想要显示的页面将位于search/search_results/slug其中slug将是项目名称的slugified版本.这是我现在通过添加最新网址获得的内容

Using the URLconf defined in Inventory.urls, Django tried these URL patterns, in   this order:

^admin/doc/
^admin/
^search_form/$
^search/$
^search_results/$
^(?P<slug>[-\w\d]+),(?P<id>\d+)/$
^(?P<slug>[-\w]+)/(?P<id>\d+)/$

The current URL, search/search_results/acetic-acid/, didn't match any of these.
Run Code Online (Sandbox Code Playgroud)

django url hyperlink slug

2
推荐指数
1
解决办法
2286
查看次数

是否可以让Django slugfield对每个用户或其他模型都是唯一的

我正在建立一个网站,其中"网页"始终位于父级"类别"中.某些页面将具有相同的标题,但将驻留在不同的类别中.目前django sluggify总是在slug中添加数字,如果名称相同:

 foo/help/
 bar/help-1/
Run Code Online (Sandbox Code Playgroud)

有没有办法让它输出一个更智能的slug,以便slug对于该类别中的页面是唯一的.

foo/help/
bar/help/
etc/help/
etc/help-1/
Run Code Online (Sandbox Code Playgroud)

我也想以同样的方式为用户提供一些独特的页面.它们将始终作为用户的子对象进行访问,从而使它们以这种方式独特

django slug

2
推荐指数
1
解决办法
824
查看次数

PHP Laravel cviebrock/eloquent-sluggable无法正常工作,因为"instanceof SluggableInterface"总是返回false

我正在尝试使用这里找到的Laravel缓存包:https://github.com/cviebrock/eloquent-sluggable

当我保存模型(例如产品)时,可缓存的功能不会使我的模型变得迟钝.这是今天全新安装的Laravel.

我可以看到事件监听器触发(SluggableServiceProvider.php中的第43行),但似乎if($ model instanceof SluggableInterface)语句永远不会返回true并且永远不会使我的模型变得迟钝.这可能是名称间距问题吗?还有其他想法吗?

这是我的产品型号:

<?php
use Cviebrock\EloquentSluggable\SluggableInterface;
use Cviebrock\EloquentSluggable\SluggableTrait;

class Product extends Eloquent {

  use SluggableTrait;
  protected $sluggable = array(
      'build_from' => 'title',
      'save_to'    => 'slug',
  );
}
Run Code Online (Sandbox Code Playgroud)

当然,我可以通过执行以下操作来手动运行sluggify方法:

$product->sluggify();
Run Code Online (Sandbox Code Playgroud)

但我想坚持最佳实践,并尝试在触发模型保存事件时使缓慢的代码自动工作.

php instanceof slug laravel laravel-4

2
推荐指数
1
解决办法
2635
查看次数

在Fat Free Framework中捕获上传的文件名

我的php脚本必须处理非slug文件名上传,例如,当用户尝试上传文件"Имянарусском.jpg"时.有些方法无法正确处理,所以我使用:

$overwrite = true;
$slug = true;
\Web::instance()->receive(NULL,$overwrite,$slug);
Run Code Online (Sandbox Code Playgroud)

所以,我在服务器上获得了"imja-na-russkom.jpg"文件.问题是我需要为DB捕获这个文件名,我试过这个:

$filename = \Web::instance()->Slug($_FILES['userfile']['name'];
Run Code Online (Sandbox Code Playgroud)

返回"imja-na-russkom-jpg" - 不是文件系统中使用的名称(不是点,而是扩展前的破折号).

所以,我的问题是:有没有办法捕获名称,在Web :: receive()中使用,或者,如果没有,是否有解决方法通过F3获取它?谢谢.

php file-upload slug fat-free-framework

2
推荐指数
1
解决办法
2068
查看次数

Django:AutoSlug错误"在尝试确保唯一性之前定义了slug"

我有一个带有django-autoslug字段的模型:

class Article(models.Model):
    headline = models.TextField()
    content = models.TextField()

    slug = AutoSlugField(populate_from='headline', max_length=128, allow_unicode=True, always_update=True)
Run Code Online (Sandbox Code Playgroud)

在开发环境中(OS X + Postgres),一切都很好用.但是,在部署的实例(Ubuntu + Postgres)上,尝试使用django admin创建对象时发生错误.它仅在标题中包含西里尔字母时才会出现:

AssertionError: slug is defined before trying to ensure uniqueness
Run Code Online (Sandbox Code Playgroud)

python django slug

2
推荐指数
1
解决办法
402
查看次数