1

リンクをDjangoで機能させようとしています。入力するとすべてのURLが機能しますが、内部ナビゲーションがわかりません。これらはすべてapp.com/storename/pagenameの形式であるため、app.com / shoestore / productsにアクセスして場所をクリックした場合は、app.com / shoestore/locationにアクセスする必要があります。靴屋の部分をなくしてしまいました。

サンプルビューは次のとおりです。

def homepage(request, store_subdomain):
    store_db, store_products = database_selector(store_subdomain)
    return render_to_response('base.html', 
            {'store_name': store_db.name, 'store_subdomain':store_subdomain})

私のurls.py:

urlpatterns = pattern(''、

url(r'^admin/', include(admin.site.urls)),
url(r'^(?P<store_subdomain>\w+)/$', homepage),
url(r'^(?P<store_subdomain>\w+)/products/$', products),
url(r'^(?P<store_subdomain>\w+)/shoppingcart/$', shoppingcart),
url(r'^(?P<store_subdomain>\w+)/checkout/$', checkout),
url(r'^static/(?P<path>.*)$', 'django.views.static.serve',
    {'document_root': settings.STATIC_ROOT}),
url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
             {'document_root': settings.MEDIA_ROOT}),

)。

と私のナビゲーションタグ:

<li><a href = "/">Home</a></li>
<li><a href = "/products/"}>Products</a></li> 
<li><a href = "/location/">Location</a></li>
<li><a href="mailto:{{store_db.email}}">Email Us</a> </li>
4

3 に答える 3

3

名前付きURLパターンを使用します。

url(r'^(?P<store_subdomain>\w+)/$', homepage, name='home')

<li><a href="{% url home store_subdomain %}">Home</a></li>
于 2013-01-25T16:22:58.113 に答える
1

url(r'^(?P<store_subdomain>\w+)/$', 'homepage', name='homepage'),

<a href="{% url home store_subdomain=value %}">Home</a>
于 2013-01-25T16:33:42.680 に答える
0

ここには魔法はありません。ナビゲーションでルートバインドされたURLを記述しました。この場合、djangoのurlresolversのreverse()関数を使用することをお勧めします。

于 2013-01-25T16:11:37.617 に答える