我想以两种方式为我的应用部署动态网址:
最好的方法是什么?
编辑1
现在可以使用
def get_absolute_url(self):
return u'%s-%s-%s-%s-%s' % (self.common_vehicle.year.year,
self.common_vehicle.series.model.manufacturer,
self.common_vehicle.series.model.model,
self.common_vehicle.series.series,
self.stock_number)
然后在我的模板中我有:
<a href="{{ vehicle.get_absolute_url }}/">
<span class="vehicle-title">
{{ vehicle.common_vehicle.year.year }}
{{ vehicle.common_vehicle.series.model.manufacturer }}
{{ vehicle.common_vehicle.series.model.model }}
{{ vehicle.common_vehicle.series.series }}
</span>
</a>
剩下的就是将库存号传递到详细信息视图...到目前为止,我已经这样做了:
(r'^inventory/details/(?P<stock_number>[-\w]+)/$',....
答案 0 :(得分:1)
如果您有一个对应于一个页面的数据库实体(例如车辆视图和Vehicle DB表),则可以在模型类中使用define get_absolute_url()
方法。
更多关于get_absolute_url
:http://docs.djangoproject.com/en/dev/ref/models/instances/#get-absolute-url
e.g:
class Vehicle(models.Model):
name = ...
year = ...
fancy_stuff = ...
def get_absolute_url(self):
return u'%s-%s-%s' % (self.year, self.name, self.fancy_stuff)
每当您使用车辆物品时,您都可以获得完整的“seo-friendly”网址...
我过滤器的天真方法是:
在urls.py
中编写一个合适的正则表达式,将整个字符串值传递给视图函数以进一步调度或将正则表达式设计为一致且结构化。
(r'^filter/(?P<name>[a-zA-Z]+)/(?P<year>\d+)/(?P<type>\d+)/$)', ...
进行相应的数据库查询