У меня есть простой набор URL-адресов в конфигурационном файле URL-адреса Django, который указывает на некоторые общие представления деталей объекта.
urlpatterns = patterns('',
url(r'^projects/(?P<slug>[\w-]+)/$', ProjectDetailView.as_view(), name='view_project'),
url(r'^roles/(?P<slug>[\w-]+)/$', RoleDetailView.as_view(), name='view_role'),
)
Проблема заключается в том, что в URL-адресе есть дефис (например: - /projects/new-project/
) slug, сервер разработки Djangos застрял.Я проверил с pdb, и нет проблем с анализом URL и получением объекта из базы данных на основе слаг.Но он застревает где-то, когда шаблон отображается.Я не могу понять источник проблемы.Любая идея, в чем проблема?
Код представления,
class ProjectDetailView(DetailView):
model=Project
context_object_name='project_obj'
slug_field='slug'
@method_decorator(login_required)
def dispatch(self, *args, **kwargs):
return super(ProjectDetailView, self).dispatch(*args, **kwargs)
Код шаблона,
{% extends "base.html" %}
{% load static %}
{% block static %}
<link rel="stylesheet" type="text/css" href="{% get_static_prefix %}css/demo_table.css">
<script type="application/javascript" src="{% get_static_prefix %}js/users-index.js"></script>
{% endblock %}
{% block content %}
<div id="itemlist">
{% if project_obj %}
<div>
<p>{{ project_obj.title }}</p>
<p>{{ project_obj.description }}</p>
</div>
{% else %}
<p>No Details available.</p>
{% endif %}
<div>
{% endblock %}
После удаления некоторых тегов из шаблонаэто начало работать,
<div id="itemlist">
{% if project_obj %}
<div>
<p>{{ project_obj.title }}</p>
<p>{{ project_obj.description }}</p>
</div>
{% else %}
<p>No Details available.</p>
{% endif %}
<div>