web-dev-qa-db-ja.com

Djangoテンプレートでhref属性を使用する方法

私のDjangoテンプレートから/appname/index/へのリンクを使用して/appname/detail/###に到達しようとすると、代わりに/appname/index/detail/###に到達します。 m取得しようとしているため、もちろんアプリはurlconfでそれを見つけることができません。

最初に詳細ページのurls.py行

url(r'detail/(?P<jobID>\d+)/$', 'appname.views.detail')

さらに、ルートurlconf

urlpatterns = patterns('', 
    url(r'^appname/', include('appname.urls')),
    url(r'^admin/', include(admin.site.urls)),
)

次に、そこに到達しようとするテンプレートコード

{% for job in jobList %}
    <a href="detail/{{ job.id }}/">{{ job.name }}</a>

他に何が該当するかわからないので、他に何か見たいか尋ねてください。私も試しました:

<a href="{% url 'appname.views.detail' %}/{{ job.id }}">{{ job.name }}</a>

しかし、それもうまくいきませんでした。よろしくお願いします。

16
avorum

追加 /開始時のhref

<a href="/appname/detail/{{ job.id }}/">{{ job.name }}</a>

urlタグを機能させるには、次のようにする必要があります。

<a href="{% url 'appname.views.detail' jobID=job.id %}">{{ job.name }}</a>
37
Aamir Adnan

私の経験から、ページのURLを定義している限り、hrefタグはurls.py、以下の形式で絶対パスを含めます。

Site name: yyyy.com
Url of page to redirect to in urls.py: yyyy.com/signup/

Sample link: <a href="/signup/">Signup</a>

Hrefタグの内部にあるものが現在のURLに追加されていることに気づくでしょう。より動的なリンクについては、DTLガイドラインのように、いくつかのpythonを使用できます。

1
Patrick Mutuku

これは問題なく動作します。<h2><a href="/index.html">Click here to go to Index page</a></h2> の代わりに <h2><a href="index.html">Click here to go to Index page</a></h2>

0