gpt4 book ai didi

python - 如何将我的网址转换为可读的名称?

转载 作者:行者123 更新时间:2023-12-01 04:27:58 26 4
gpt4 key购买 nike

我最近一直在创建 Hackernews 类型的克隆,并在添加更具可读性的 URL 时遇到了一些麻烦。根据我读到的内容,我相信它被称为 Slug。

基本上,我的网址读起来类似于:localhost/1/、localhost/2/,它们取自类别模型。我不想读取/1/、/2/等,而是更喜欢它采用 Category_name 字段并填充 url。例如 localhost/engineering、localhost/science。

这是我的类别模型:

models.py

class Category(models.Model):
category_name = models.CharField(max_length = 50)
created_at = models.DateTimeField(auto_now_add = True)
updated_at = models.DateTimeField(auto_now = True)

def __unicode__(self):
return self.category_name

class Meta:
verbose_name_plural = "categories"

这是我当前的 url.py:

url.py

url(r'^(?P<category_id>[0-9]+)/$', 'stories.views.category'),

和我的观点.py:

views.py

def category(request, category_id=1):
template = 'stories/category.html'
category = Category.objects.get(id = category_id)
return render_to_response(template, {
'category': category
})

我应该如何实现这样的事情?我读过有关 Slugify 的内容,但永远无法让它正常工作。谢谢。

最佳答案

你的 urls.py 应该是,

url(r'^(?P<category_name>\w+)/$', 'stories.views.category'),

而views.py应该是这样的,

def category(request, category_name):
template = 'stories/category.html'
category = Category.objects.get(category_name = category_name)
return render_to_response(template, {
'category': category
})

如果您不使用 slugified Category_name,上述内容可能会起作用。如果这样做,请在模型中使用 slug 字段,如this stack overflow answer所述。

关于python - 如何将我的网址转换为可读的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32824655/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com