как использовать атрибут href в шаблонах django

когда я пытаюсь использовать ссылку в моем шаблоне Django из /appname/index/ до /appname/detail/### вместо этого я добираюсь до /appname/index/detail/### что не то, что я пытаюсь получить, поэтому мое приложение не может найти его в 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>

но это не сработало. Заранее спасибо за любую помощь.

2 ответов


добавить / при запуске в href:

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

и url тег для работы вам нужно сделать это так:

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

из моего опыта, если вы определили url-адрес страницы href тег должен привести к in 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-адресу. Для более динамических ссылок вы можете использовать некоторые рекомендации python по DTL.