Python Django站点数据库中存储的URL

Python Django站点数据库中存储的URL,python,database,django,url,content-management-system,Python,Database,Django,Url,Content Management System,我已经创建了一些Django站点,但到目前为止,我一直在url.py中映射各个视图和URL 现在我试图创建一个小型的定制CMS,但我在URL方面遇到了问题。我有一个数据库表SQLite3,其中包含页面代码,比如标题栏、右菜单栏、内容栏等等。。。。等等,等等。我还有一个URL栏。我如何让Django从存储在列中的URL调用数据库表中的信息,而不必为每个页面编码视图和URL,这显然违背了CMS的目的 如果有人能给我指出文档的正确部分,或是一个解释这一点的网站,那将非常有帮助 谢谢大家。您的问题有点扭

我已经创建了一些Django站点,但到目前为止,我一直在url.py中映射各个视图和URL

现在我试图创建一个小型的定制CMS,但我在URL方面遇到了问题。我有一个数据库表SQLite3,其中包含页面代码,比如标题栏、右菜单栏、内容栏等等。。。。等等,等等。我还有一个URL栏。我如何让Django从存储在列中的URL调用数据库表中的信息,而不必为每个页面编码视图和URL,这显然违背了CMS的目的

如果有人能给我指出文档的正确部分,或是一个解释这一点的网站,那将非常有帮助


谢谢大家。

您的问题有点扭曲,但我认为您的要求与django.contrib.flatpages处理此问题的方式类似。基本上,它使用中间件捕获404错误,然后查看是否有任何flatpages具有匹配的URL字段


我们在一个网站上做到了这一点,在那里所有的URL都变得对搜索引擎友好。我们重写了save方法,将标题插入到这个_is _the _title.html或任何东西中,然后将其存储在一个单独的表中,该表具有URL=>对象类/id映射。ng这意味着它在中间件列表中的flatpages之前列出。

您的问题有点扭曲,但我认为您所要求的与django.contrib.flatpages处理此问题的方式类似。基本上,它使用中间件捕获404错误,然后查看是否有任何flatpages具有匹配的URL字段


我们在一个网站上做到了这一点,在那里所有的URL都变得对搜索引擎友好。我们重写了save方法,将标题插入到这个_is _the _title.html或其他任何东西中,然后将其存储在一个单独的表中,该表具有URL=>对象类/id映射。ng这意味着它在中间件列表中的flatpages之前列出。

您不必以flatpages的方式对其进行访问

对于应该是可寻址的模型,我这样做:

在url.py中,我有一个url映射,如

  url(r'(?P<slug>[a-z1-3_]{1,})/$','cms.views.category_view', name="category-view")
注意:我使用的是render_to–它与render_to_响应相同,只是更短

编辑此内容应包含在本手册中。在这里,你可以在每一个细节中找到答案。这本书也涵盖了这一点。并检查pythons正则表达式模块


当然,您可以使用此代码

你不必用平版的方式来写

对于应该是可寻址的模型,我这样做:

在url.py中,我有一个url映射,如

  url(r'(?P<slug>[a-z1-3_]{1,})/$','cms.views.category_view', name="category-view")
注意:我使用的是render_to–它与render_to_响应相同,只是更短

编辑此内容应包含在本手册中。在这里,你可以在每一个细节中找到答案。这本书也涵盖了这一点。并检查pythons正则表达式模块


当然,您可以使用此代码

flatpages的工作原理就是我的意思。这就是大多数CMS使用Django的工作方式吗?我想知道是否有一种方法可以让Django在编写页面时自动重写URL.py,或者是否有任何其他方法可以将URL映射到存储在数据库中的页面。Django中的URL映射分为两类:通过URL.py文件中的regexp显式映射,以及隐式或可能是“推断”更好。如果您或您的CMS有一些关于URL将映射到哪个页面的任意规则集,您只需要使用隐式方法,其中包括flatpage的404机制。我认为如果有一种方法可以在url.py文件中指定一系列404处理程序,而不是通过半神奇的中间件方法,那么会更干净/更干净。即使隐式方法更显式。我想您可以使用'*'的regexp来实现这一点。哦,好吧,我的意思是flatpages是如何工作的。这就是大多数CMS使用Django的工作方式吗?我想知道是否有一种方法可以让Django在编写页面时自动重写URL.py,或者是否有任何其他方法可以将URL映射到存储在数据库中的页面。Django中的URL映射分为两类:通过URL.py文件中的regexp显式映射,以及隐式或可能是“推断”更好。如果您或您的CMS有一些关于URL将映射到哪个页面的任意规则集,您只需要使用隐式方法,其中包括flatpage的404机制。我认为如果有一种方法可以在url.py文件中指定一系列404处理程序,而不是通过半神奇的中间件方法,那么会更干净/更干净。即使隐式方法更显式。我想您可以使用'*'的regexp来实现这一点。哦……这正是我想要的东西。使用404似乎有点“脏”。这就直截了当了。我能问一下这种类型的URL映射记录在哪里吗?我已经翻阅了官方文件和Django手册,但找不到它。其次,当我的网站建立并运行时,你介意我在一个小教程中使用上面的例子吗?无论如何,非常感谢。这正是我要找的东西。使用404似乎有点“脏”。这个g 直截了当地说。我能问一下这种类型的URL映射记录在哪里吗?我已经翻阅了官方文件和Django手册,但找不到它。其次,当我的网站建立并运行时,你介意我在一个小教程中使用上面的例子吗?无论如何,非常感谢。