如何制作一个;“美丽”;带有Django Python的URL
我有一个URL产品的形式:如何制作一个;“美丽”;带有Django Python的URL,django,url-rewriting,django-forms,Django,Url Rewriting,Django Forms,我有一个URL产品的形式: /capidahl?fecha=2014-06-23&hora1=00&minutos1=00&hora2=23&minutos2=59 我想把它缩短,比如capidahl/2014/06/24。 如何使用Django重写URL?这在Django中很容易做到。在URL.py中,指定处理程序: (r'^capidahl/(?p[0-9-.]+)/*(?p[0-9]+)/*(?p[0-9]+),“我的函数”) 然后,该函数处理变量: def my_function(req
/capidahl?fecha=2014-06-23&hora1=00&minutos1=00&hora2=23&minutos2=59
我想把它缩短,比如capidahl/2014/06/24。
如何使用Django重写URL?这在Django中很容易做到。在URL.py中,指定处理程序:
(r'^capidahl/(?p[0-9-.]+)/*(?p[0-9]+)/*(?p[0-9]+),“我的函数”)
然后,该函数处理变量:
def my_function(request, fecha, hora='12', minutos='00'):
do something
解释如下:以下是一个关于如何在模型级别执行此操作的示例(根据需要进行更改):
这就是URL.py中的正则表达式?是的。漂亮,不是吗?如果允许使用任何普通字符,甚至可以使用[a-zA-Z0-9-]+为什么使用-1@贾斯坦尼尔
class Article(models.Model):
title = models.CharField( max_length = 255 )
date_publish = models.DateTimeField(auto_now_add = True)
def get_absolute_url(self):
return 'capidahl/%s/%s/%s' %(self.date_publish.year, self.date_publish.strftime('%m'), self.date_publish.strftime('%d'))