标签: slug

Django - Slugify获取查找

如果我有一个带有名字的对象Object 1并且我想要get()那个对象,但是我试图用一个诽谤的名字来获取它object-1,有什么办法可以做到这一点吗?就像是:

Model.objects.get(name__slugify = slugifiedname)
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我想避免在模型中添加额外的slug字段.

django django-queryset slug

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

什么是正确的使用方法,并参考django 1.3中的slugfield

什么是正确的使用方法,并参考django 1.3中的slugfield

例如,以下代码应通过slug链接到通用视图,但是会收到NoReverseMatch错误.

Caught NoReverseMatch while rendering: Reverse for 'single_post' with arguments '('', u'post-2')' and keyword arguments '{}' not found.
Run Code Online (Sandbox Code Playgroud)

根据我的理解,这说错误在于模板然而是新手,并且在{%url single_post slug = post.slug%}上尝试了许多不同的变化,这可能不是这种情况.

有人可以解释为什么会发生这种情况,以便我能够理解问题所在以及如何解决.

我试过{%url single_post slug = post.slug%},{%url single_post slug%} {%url single_post slug = post.slug%}和许多其他变种

非常感谢所有帮助

模型

slug = models.SlugField(max_length=120, unique=True)
Run Code Online (Sandbox Code Playgroud)

网址

   url(r'^post/(?P<slug>[a-z-]+)/$', list_detail.object_detail,
         {'queryset': Post.objects.all(), 'template_object_name': 'post', 'slug_field': 'slug'}, name="single_post"),
Run Code Online (Sandbox Code Playgroud)

模板

{% url single_post slug post.slug %}
Run Code Online (Sandbox Code Playgroud)

django django-templates slug

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

手动生成学说slu ..

我在Symfony2项目中使用了可缓慢的行为,但现在我想基于不同的文本(当前标题,旧标题,来自表单输入的用户文本)为一页制作许多slug,并将其保存在另一个页面中表.我的问题是 - 如何手动使用任何文本的学说扩展?我找不到任何地方.完美将是这样的:

/* careful - it's not a real, working code! */
$sluggable = new DoctrineSluggable();
$slug = $sluggable->generate('My own text!');
echo $slug; // my-own-text
Run Code Online (Sandbox Code Playgroud)

slug symfony doctrine-orm stofdoctrineextensions

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

Python - 将字符串格式化为 url 的最短方法

我参与了一个网络项目。我必须选择表示代码的最佳方式,以便其他人可以毫无问题/头痛/无所事事地阅读它。

我现在解决的“问题”是显示一个漂亮的格式化网址(将从“标题”字符串中获取)。

所以,假设我们有一个从表单中获取的标题:

title = request.form['title'] # 'Hello World, Hello Cat! Hello?'
Run Code Online (Sandbox Code Playgroud)

然后我们需要一个函数来格式化它以包含在 url 中(它需要变成 'hello_world_hello_cat_hello'),所以目前我正在使用这个我认为可读性很差的函数:

str.replace(title, ' ', '-').str.replace(title, '!', '').str.replace(title, '?', '').str.replace(string, ',' '').lower()
Run Code Online (Sandbox Code Playgroud)

压缩它的好方法是什么?是否已经有一个功能可以做我正在做的事情?

我还想知道我应该从 url 中删除哪些字符/符号。

python replace slug

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

为中文字符创建URL slugs.使用PHP

我的用户有时会使用中文字符作为输入标题.

我的slu is的形式/stories/:id-:name可以是一个例子/stories/1-i-love-php.

我如何允许中文字符?

我用Google搜索并在这里找到了这个答案的日文版.

不太懂日语,所以我问的是中文版.

谢谢.

php regex slug non-ascii-characters chinese-locale

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

在 Laravel 中使用阿拉伯字符作为 Slug

我正在使用这个包Github:eluquent-sluggable-persian使用阿拉伯语来表示 slug,他们使用正则表达式来表示包配置文件,我不太擅长它,我遇到的错误是

sluggable.php 第 106 行中的 ErrorException:
preg_replace():编译失败:在偏移量 0 处无需重复

sluggable.php 是我应该用原始配置文件替换的配置文件,我需要知道如何解决这个问题。

有错误的代码

'method' => function($string, $separator = '-')
{
    $_transliteration = array(
        '/ä|æ|?/' => 'ae',
        '/ö|œ/' => 'oe',
        '/ü/' => 'ue',
        '/Ä/' => 'Ae',
        '/Ü/' => 'Ue',
        '/Ö/' => 'Oe',
        '/À|Á|Â|Ã|Å|?|?|?|?|?/' => 'A',
        '/à|á|â|ã|å|?|?|?|?|?|ª/' => 'a',
        '/Ç|?|?|?|?/' => 'C',
        '/ç|?|?|?|?/' => 'c',
        '/Ð|?|?/' => 'D',
        '/ð|?|?/' => 'd',
        '/È|É|Ê|Ë|?|?|?|?|?/' => 'E',
        '/è|é|ê|ë|?|?|?|?|?/' => 'e',
        '/?|?|?|?/' => 'G',
        '/?|?|?|?/' => 'g',
        '/?|?/' => 'H',
        '/?|?/' => 'h',
        '/Ì|Í|Î|Ï|?|?|?|?|?|?/' …
Run Code Online (Sandbox Code Playgroud)

php regex seo slug laravel

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

Django-为每个模型对象生成随机,唯一的子弹字段

我有一个ExampleModel在Django中调用的模型,并且希望每个模型对象都可以唯一标识。但是,我不希望用户在URL中看到对象的ID。因此,出于这个原因,我希望对象slug是唯一的,随机生成的8位整数,该整数将进入视图URL。这与我所见过的其他问题不同,因为这意味着不会生成基于模型对象的名称//内容本身的条形字符串。

Models.py:

class ExampleModel(models.Model):
    user = models.ForeignKey(UserModel, related_name='examplemodel', on_delete=models.CASCADE, null=True)
    title = models.CharField(max_length=50, verbose_name='Title')
    slug = models.SlugField(unique=True, blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

目前,Slug的值为null,因此我不必为所有当前ExampleModel对象设置默认的Slug 。

可以理解,这是很模糊的,但是我找不到适合我的实际情况的任何指南/教程。

感谢您提供的任何帮助/指导

编辑 这是我的views.py:

def model_create(request):
    user=request.user.id
    if request.user.is_authenticated:
        try:
            example = request.user.examplemodel
        except ExampleProfile.DoesNotExist:
            example = ExampleProfile(user)
        if request.method == 'POST':
            form = NewForm(request.POST, request.FILES)
            if form.is_valid():
                form.save()
                return redirect('/dashboard/')
            else:
                return render(request, 'create.html', {'form': form})
        else:
            form = NewForm()
            return render(request, 'create.html', {'form': form})
    else:
        return redirect('/users/login/?next=')
Run Code Online (Sandbox Code Playgroud)

编辑2 Models.py(保存方法):

def save(self, …
Run Code Online (Sandbox Code Playgroud)

python django slug

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

如何在 django 2.0.4 中从我的相册模型自动生成 slug

我有一个包含歌曲列表的专辑字段

 class Album(models.Model):
    artist = models.CharField(max_length=250)
    album_title = models.CharField(max_length=250)
    genre = models.CharField(max_length=100)
    album_logo = models.CharField(max_length=1000,blank=True)
    slug = models.SlugField(unique=True)

    def __str__(self):
        return self.album_title               

class Song(models.Model):
    album = models.ForeignKey(Album, on_delete=models.CASCADE)
    artist = models.CharField(max_length=250, blank=True)
    file_type = models.CharField(max_length=10)
    song_title = models.CharField(max_length=100)    

    def __str__(self):
        return self.artist
Run Code Online (Sandbox Code Playgroud)

我想知道如何从专辑标题生成 slug。我正在关注一个使用 django 1.8 的教程,它使用正则表达式来实现这个任务。但是通过查看文档,他们引入了一种更简单的方法('')。因此,您能否帮助解释我如何为初学者实施它,不仅在这种情况下而且在可能的情况下全面了解。提前致谢。

python django slug

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

perisan 404 中的 Django slug url

我有一个 Django 网址:

path('question/<slug:question_slug>/add_vote/', views.AddVoteQuestionView.as_view())
Run Code Online (Sandbox Code Playgroud)

它适用于 english slug 但当 slug 是波斯语时,如下所示:

/question/????-???/add_vote/

django url throw 404 Not Found,有什么解决方案可以捕获这个 perisan slug url?

编辑:

我正在使用 Django 2.1.5。

使用此网址可以正常工作:

re_path(r'question/(?P<question_slug>[\w-]+)/add_vote/$', views.AddVoteQuestionView.as_view())
Run Code Online (Sandbox Code Playgroud)

python django django-urls slug

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

我如何在 Django 中正确使用 slug url?

你好,我是 Django 的新手,我正在尝试建立一个网站。 在管理页面http://127.0.0.1:8000/admin/posts/post/我添加了两个帖子,一个有一个 slug,**第一个 slug 是第一个,第二个是第二个问题是当我尝试时到达http://127.0.0.1:8000/posts/firsthttp://127.0.0.1:8000/posts/second它给我一个 404 错误,它告诉我**

使用 custom.urls 中定义的 URLconf,Django 按以下顺序尝试了这些 URL 模式:

admin/
posts/ [name='posts_list']
<slug>
Run Code Online (Sandbox Code Playgroud)

当前路径,posts/first,与这些都不匹配。

这是models.py

from django.db import models
from django.conf import settings
Create your models here.

User = settings.AUTH_USER_MODEL

class Author(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    email = models.EmailField()
    phone_num = models.IntegerField(("Phone number"))

    def __str__(self):
       return self.user.username

class Post(models.Model):
    title = models.CharField(max_length=120)
    description = models.TextField()
    slug = models.SlugField()
    image = models.ImageField()
    author = models.OneToOneField(Author, on_delete=models.CASCADE)


    def …
Run Code Online (Sandbox Code Playgroud)

html python django url slug

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