Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Django博客中添加类别路径_Django_Django Models_Django Templates_Django Admin_Django Views - Fatal编程技术网

在Django博客中添加类别路径

在Django博客中添加类别路径,django,django-models,django-templates,django-admin,django-views,Django,Django Models,Django Templates,Django Admin,Django Views,我在我的网站上添加了一个博客,到目前为止一切都很成功。根据下面的代码片段,我有一个slug字段,可以动态创建url和标记系统。我不是在寻找什么超级疯狂的东西,因为博客是专门用于搜索引擎营销的,但我错过了一件我需要帮助的重要事情 目前,当我创建一个新博客时,路径是www.mysite.com/blog/this-is-the-title-slug,但我真正需要做的是能够从管理仪表板创建并添加一个类别,然后像www.mysite.com/blog/mycategory/this-is-the-tit

我在我的网站上添加了一个博客,到目前为止一切都很成功。根据下面的代码片段,我有一个slug字段,可以动态创建url和标记系统。我不是在寻找什么超级疯狂的东西,因为博客是专门用于搜索引擎营销的,但我错过了一件我需要帮助的重要事情

目前,当我创建一个新博客时,路径是www.mysite.com/blog/this-is-the-title-slug,但我真正需要做的是能够从管理仪表板创建并添加一个类别,然后像www.mysite.com/blog/mycategory/this-is-the-title-slug那样插入url

以下是我的一些代码:

from django.conf.urls import url
from . import views, feed

urlpatterns = [
    url(r'^$', views.BlogIndex.as_view(), name='post_list'),
    url(r'^(?P<slug>\S+)$', views.BlogDetail.as_view(), name="post_detail"),
    url(r'^feed/$', feed.LatestPosts(), name="feed"), name='post_edit'),
]
我的URL:

from django.conf.urls import url
from . import views, feed

urlpatterns = [
    url(r'^$', views.BlogIndex.as_view(), name='post_list'),
    url(r'^(?P<slug>\S+)$', views.BlogDetail.as_view(), name="post_detail"),
    url(r'^feed/$', feed.LatestPosts(), name="feed"), name='post_edit'),
]
指出类别插入位置的屏幕截图


谢谢你的帮助。新年快乐

您需要首先为category创建一个模型,类似于:

class Category(models.Model):
    name = models.CharField(max_length=255, blank=False)
    slug = models.SlugField(max_length=100, blank=False)

    def __str__(self):
        return self.name
并将类别添加到您的条目模型中:

class Entry(models.Model):
    title = models.CharField(max_length=200)
    ... < the rest of your model> 
    category = models.ForeignKey(Category)
类条目(models.Model):
title=models.CharField(最大长度=200)
... < 模型的其余部分>
类别=型号。外键(类别)
现在,如果您想按类别进行筛选,请将其添加到URL.py中

url(r'^(?P<category>[^\.]+)/(?P<slug>[^\.]+)/$', 'yourview', name='post_detail'),
url(r'^(?P[^\.]+)/(?P[^\.]+)/$),'yourview',name='post_detail'),

请记住修改视图以接受类别作为参数,并筛选具有此类别的条目。

您需要首先为类别创建一个模型,类似于:

class Category(models.Model):
    name = models.CharField(max_length=255, blank=False)
    slug = models.SlugField(max_length=100, blank=False)

    def __str__(self):
        return self.name
并将类别添加到您的条目模型中:

class Entry(models.Model):
    title = models.CharField(max_length=200)
    ... < the rest of your model> 
    category = models.ForeignKey(Category)
类条目(models.Model):
title=models.CharField(最大长度=200)
... < 模型的其余部分>
类别=型号。外键(类别)
现在,如果您想按类别进行筛选,请将其添加到URL.py中

url(r'^(?P<category>[^\.]+)/(?P<slug>[^\.]+)/$', 'yourview', name='post_detail'),
url(r'^(?P[^\.]+)/(?P[^\.]+)/$),'yourview',name='post_detail'),

请记住修改视图以接受类别作为参数,并筛选具有此类别的条目。

是否尝试过插入类别?我尝试过插入与slug模式相同的模型名称,但遇到错误。slug很容易理解,但我仍然对创建动态url有点迷茫。您尝试过插入类别吗?我尝试过插入与slug模式相同的模型名称,但遇到了错误。slug的事情很容易弄明白,但我仍然对创建动态url有点迷茫。非常简单-谢谢!!为了让其他人受益,我的视图链接变得非常简单-谢谢!!为了增加您的回复,让其他人受益,我的视图链接变成