我正在建立一个英文网站,只是想提供一小部分货币。对于搜索引擎优化和缓存,我计划开发以相关货币显示价格的以下网址结构。不同货币的Django网址格式
首页(S)
- site.com/
- site.com/au/
- site.com/us/
- ...
分类指数Pages
- site.co M /分类/
- site.com/au/categories/
- site.com/us/categories/
- ...
产品索引页
- site.com/categories/category1/
- site.com/au/categories/category1/
- site.com/us/categories/category1/
- ...
产品页数
- site.com/categories/category1/product-1/
- site.com/au/categories/category1/product-1/
- site.com/us/categories/category1/product-1/
- ...
这是我的一个ttempted url.py
urlpatterns = patterns('',
#url(r'^$', views.homeCurrency, {'cur_slug': '' }, name='home'),
url(r'^(?P<cur_slug>[:au|nz|us|eu|ca|uk]+)/$', views.homeCurrency, name='home'),
url(r'^categories/', include('parts.urls', namespace="parts")),
url(r'^(?P<cur_slug>[:au|nz|us|eu|ca|uk]+)/bike-parts/', include('parts.urls', namespace="parts")),
)
这是哪门子的动态URL我需要在我base.html文件
<a href="{% url 'home' %}">Home</a>
我的问题是双重的(我认为) 首先,我不能允许默认情况下,即site.com(/)在url模式中,这样就可以在网站的每个版本中动态使用公用的url名称。
其次,即使忽略默认的情况下,我收到以下错误:
请求方法:GET 请求URL:site.com/au/ Django的版本:1.5.4 异常类型:NoReverseMatch 异常值:
未找到参数'()'和关键字参数'{}'的'home'反向。
任何帮助将不胜感激,因为这是我在Django的第一个项目。干杯
谢谢托马斯,我最初看着语言环境功能,但认为它可能是矫枉过正。我将如何使用区域设置功能去创建上面所需的url结构的url模式,以及将会带来哪些好处?再次感谢 – talkterps
另外,文档也这样说:“i18n_patterns()只允许在你的根URLconf中使用,在包含的URLconf中使用它会引发一个错误配置的异常。”这会导致任何问题,因为我包括parts.urls? – talkterps
使用内置i18n框架的好处是,除了本地化定价之外,您还可以使用它来提供本地化内容。另外,像django-cms这样的大型django项目也会自然地融入其中。 – Thomas