Skip to content

Commit

Permalink
Use namespaced URL names.
Browse files Browse the repository at this point in the history
  • Loading branch information
rolo committed Apr 10, 2015
1 parent daef6ae commit 010667d
Show file tree
Hide file tree
Showing 10 changed files with 23 additions and 29 deletions.
1 change: 0 additions & 1 deletion {{cookiecutter.app_name}}/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,3 @@
from .models import {{ cookiecutter.model_name }}

admin.site.register({{ cookiecutter.model_name }})

1 change: 0 additions & 1 deletion {{cookiecutter.app_name}}/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,3 @@
class {{ cookiecutter.model_name }}Form(forms.ModelForm):
class Meta:
model = {{ cookiecutter.model_name }}

3 changes: 1 addition & 2 deletions {{cookiecutter.app_name}}/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,4 @@ def __str__(self):
return self.name

def get_absolute_url(self):
return reverse('{{ cookiecutter.model_name|lower }}_detail', args=[str(self.id)])

return reverse('{{ cookiecutter.app_name }}:detail', args=[str(self.id)])
4 changes: 2 additions & 2 deletions {{cookiecutter.app_name}}/templates/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
<h1>Django CRUD Scaffold</h1>
<p>Default template for generated CRUD scaffold. You should create your own base.html in your template root, with a block named "content".</p>
<ul>
<li><a href="{% url '{% endraw %}{{ cookiecutter.model_name|lower }}{% raw %}_list' %}">List</a></li>
<li><a href="{% url '{% endraw %}{{ cookiecutter.model_name|lower }}{% raw %}_create' %}">Create</a></li>
<li><a href="{% url '{% endraw %}{{ cookiecutter.app_name }}{% raw %}:list' %}">List</a></li>
<li><a href="{% url '{% endraw %}{{ cookiecutter.app_name }}{% raw %}:create' %}">Create</a></li>
</ul>
</div>
<div class="content">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ <h1>Delete</h1>

<form id="{% endraw %}{{ cookiecutter.model_name|lower }}{% raw %}_form" method="post" action=".">
{% csrf_token %}
<input type="submit" value="Yes" class="btn btn-primary" /> <a href="{% url '{% endraw %}{{ cookiecutter.model_name|lower }}{% raw %}_list' %}" class="btn btn-danger">No</a>
<input type="submit" value="Yes" class="btn btn-primary" /> <a href="{% url '{% endraw %}{{ cookiecutter.app_name }}{% raw %}:list' %}" class="btn btn-danger">No</a>
</form>
{% endblock %}
{% endraw %}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
{% block content %}
<h1>Detail</h1>
<p>{{ object.name }}</p>
<a href="{% url '{% endraw %}{{ cookiecutter.model_name|lower }}{% raw %}_list' %}">List</a>
<a href="{% url '{% endraw %}{{ cookiecutter.app_name }}{% raw %}:list' %}">List</a>
{% endblock %}
{% endraw %}
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

{% block content %}
<h1>Listing</h1>
<a href="{% url '{% endraw %}{{ cookiecutter.model_name|lower }}{% raw %}_create' %}">Create</a>
<a href="{% url '{% endraw %}{{ cookiecutter.app_name }}{% raw %}:create' %}">Create</a>
<ul>
{% for object in object_list %}
<li>
{{ object }}
<a href="{{ object.get_absolute_url }}">Details</a>
<a href="{% url '{% endraw %}{{ cookiecutter.model_name|lower }}{% raw %}_update' object.pk %}">Update</a>
<a href="{% url '{% endraw %}{{ cookiecutter.model_name|lower }}{% raw %}_delete' object.pk %}">Delete</a>
<a href="{% url '{% endraw %}{{ cookiecutter.app_name }}{% raw %}:update' object.pk %}">Update</a>
<a href="{% url '{% endraw %}{{ cookiecutter.app_name }}{% raw %}:delete' object.pk %}">Delete</a>
</li>
{% empty %}
<p>No items.</p>
Expand All @@ -20,13 +20,13 @@ <h1>Listing</h1>
<div class="pagination">
<span class="page-links">
{% if page_obj.has_previous %}
<a href="{% url '{% endraw %}{{ cookiecutter.model_name|lower }}{% raw %}_list' %}?page={{ page_obj.previous_page_number }}">previous</a>
<a href="{% url '{% endraw %}{{ cookiecutter.app_name }}{% raw %}:list' %}?page={{ page_obj.previous_page_number }}">previous</a>
{% endif %}
<span class="page-current">
Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}.
</span>
{% if page_obj.has_next %}
<a href="{% url '{% endraw %}{{ cookiecutter.model_name|lower }}{% raw %}_list' %}?page={{ page_obj.next_page_number }}">next</a>
<a href="{% url '{% endraw %}{{ cookiecutter.app_name }}{% raw %}:list' %}?page={{ page_obj.next_page_number }}">next</a>
{% endif %}
</span>
</div>
Expand Down
9 changes: 4 additions & 5 deletions {{cookiecutter.app_name}}/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@ def test_list_view(self):
Test that the list view returns at least our factory created instance.
"""
instance = mommy.make({{ cookiecutter.model_name }})
response = self.app.get(reverse('{{ cookiecutter.model_name|lower }}_list'))
response = self.app.get(reverse('{{ cookiecutter.app_name }}:list'))
object_list = response.context['object_list']
self.assertIn(instance, object_list)

def test_create_view(self):
"""
Test that we can create an instance via the create view.
"""
response = self.app.get(reverse('{{ cookiecutter.model_name|lower }}_create'))
response = self.app.get(reverse('{{ cookiecutter.app_name }}:create'))
new_name = 'A freshly created thing'

# check that we don't already have a model with this name
Expand All @@ -51,7 +51,7 @@ def test_update_view(self):
Test that we can update an instance via the update view.
"""
instance = mommy.make({{ cookiecutter.model_name }})
response = self.app.get(reverse('{{ cookiecutter.model_name|lower }}_update', kwargs={'pk': instance.pk, }))
response = self.app.get(reverse('{{ cookiecutter.app_name }}:update', kwargs={'pk': instance.pk, }))

form = response.forms['{{ cookiecutter.model_name|lower }}_form']
new_name = 'Some new thing'
Expand All @@ -67,7 +67,6 @@ def test_delete_view(self):
"""
instance = mommy.make({{ cookiecutter.model_name }})
pk = instance.pk
response = self.app.get(reverse('{{ cookiecutter.model_name|lower }}_delete', kwargs={'pk': pk, }))
response = self.app.get(reverse('{{ cookiecutter.app_name }}:delete', kwargs={'pk': pk, }))
response = response.form.submit().follow()
self.assertFalse({{ cookiecutter.model_name }}.objects.filter(pk=pk).exists())

13 changes: 6 additions & 7 deletions {{cookiecutter.app_name}}/urls.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
from django.conf.urls import patterns, url
from django.conf.urls import url
from . import views


urlpatterns = [
url(r'^$', views.{{ cookiecutter.model_name }}List.as_view(), name='{{ cookiecutter.model_name|lower }}_list'),
url(r'^new/$', views.{{ cookiecutter.model_name }}Create.as_view(), name='{{ cookiecutter.model_name|lower }}_create'),
url(r'^(?P<pk>\d+)/$', views.{{ cookiecutter.model_name }}Detail.as_view(), name='{{ cookiecutter.model_name|lower }}_detail'),
url(r'^(?P<pk>\d+)/update/$', views.{{ cookiecutter.model_name }}Update.as_view(), name='{{ cookiecutter.model_name|lower }}_update'),
url(r'^(?P<pk>\d+)/delete/$', views.{{ cookiecutter.model_name }}Delete.as_view(), name='{{ cookiecutter.model_name|lower }}_delete'),
url(r'^$', views.{{ cookiecutter.model_name }}List.as_view(), name='list'),
url(r'^new/$', views.{{ cookiecutter.model_name }}Create.as_view(), name='create'),
url(r'^(?P<pk>\d+)/$', views.{{ cookiecutter.model_name }}Detail.as_view(), name='detail'),
url(r'^(?P<pk>\d+)/update/$', views.{{ cookiecutter.model_name }}Update.as_view(), name='update'),
url(r'^(?P<pk>\d+)/delete/$', views.{{ cookiecutter.model_name }}Delete.as_view(), name='delete'),
]

7 changes: 3 additions & 4 deletions {{cookiecutter.app_name}}/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class {{ cookiecutter.model_name }}List(ListView):
class {{ cookiecutter.model_name }}Create(CreateView):
model = {{ cookiecutter.model_name }}
form_class = {{ cookiecutter.model_name }}Form
success_url = reverse_lazy('{{ cookiecutter.model_name|lower }}_list')
success_url = reverse_lazy('{{ cookiecutter.app_name }}:list')


class {{ cookiecutter.model_name }}Detail(DetailView):
Expand All @@ -22,10 +22,9 @@ class {{ cookiecutter.model_name }}Detail(DetailView):
class {{ cookiecutter.model_name }}Update(UpdateView):
model = {{ cookiecutter.model_name }}
form_class = {{ cookiecutter.model_name }}Form
success_url = reverse_lazy('{{ cookiecutter.model_name|lower }}_list')
success_url = reverse_lazy('{{ cookiecutter.app_name }}:list')


class {{ cookiecutter.model_name }}Delete(DeleteView):
model = {{ cookiecutter.model_name }}
success_url = reverse_lazy('{{ cookiecutter.model_name|lower }}_list')

success_url = reverse_lazy('{{ cookiecutter.app_name }}:list')

0 comments on commit 010667d

Please sign in to comment.