【发布时间】:2017-08-02 17:19:07
【问题描述】:
Reverse for 'details' with arguments '('Federal Airports Authority of Nigeria (FAAN)',)' and keyword arguments '{}' not found.
1 pattern(s) tried:
['details/(?P<company_name>[0-9A-Za-z]+)/$']
这是我的urls.py
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^details/(?P<company_name>[0-9A-Za-z]+)/$', views.details, name='details'),
url(r'^full_list/$', views.full_list, name='full_list' ),
]
这是models.py
class CompanyDetail(models.Model):
name = models.CharField(max_length=300)
company_logo = models.FileField(default='')
company_info = models.TextField()
company_address = models.TextField()
tag = models.CharField(max_length=300)
def __str__(self):
return self.name
这是我的views.py
def details(request, company_name):
company = CompanyDetail.objects.get(name=company_name)
return render(request, 'company_profiles/details.html',
{'company':company} )
def full_list(request):
lists = CompanyDetail.objects.all()
return render(request, 'company_profiles/full_list.html',
{'lists':lists})
这是模板:
{% extends 'company_profiles/base.html' %}
{% block content %}
{% for company in lists %}
<p>
<div class="alert alert-info" role="alert">
<a href="{% url 'company_profiles:details' company.name %}" class="alert-link">{{ company }}</a>
</div>
</p>
{% empty %}
<p>No companies found</p>
{% endfor %}
{% endblock content %}
只有当公司名称中有空格时,我才会得到反向匹配。
【问题讨论】: