Crearemos las Class View, asumiendo que ya tienen creado el model en este caso llamado BlogAztrock
La CreateView y UpdateView se encargan de Crear y Actualizar contenido en el model y crear el formulario para el ingreso de la información
# Importamos las clases para creacion, actualizacion y borrado.
# Importamos las clases para creacion, actualizacion y borrado.
from django.views.generic.edit import CreateView, UpdateView, DeleteView
# Importamos la clase para listar
from django.views.generic import ListView
# Importamos una funcion para reversar las url por el nombre 
from django.core.urlresolvers import reverse_lazy
# Importamos un modelo. 
from myapp.models import BlogAztrock
class AztrockCreate(CreateView):
    model = BlogAztrock
    fields = ['name'] 
    template_name = 'form.html'
    success_url = reverse_lazy('aztrock-listar') 
class AztrockUpdate(UpdateView):
    model = BlogAztrock
    fields = ['name']
    template_name = 'form.html' 
    success_url = reverse_lazy('aztrock-listar') 
class AztrockDelete(DeleteView):
    model = BlogAztrock 
    template_name = 'eliminar_blog.html' 
    success_url = reverse_lazy('aztrock-listar')
class AztrockListar(ListView):
    model = BlogAztrock
    template_name = 'blog-aztrock.html'
Creamos las URL
from django.conf.urls import patterns, url
from apps.views import AztrockCreate, AztrockUpdate, AztrockDelete, AztrockListar
urlpatterns = patterns('',
    url(r'aztrock/$', AztrockListar.as_view(), name='aztrock-listar'), 
    url(r'aztrock/agregar/$', AztrockCreate.as_view(), name='aztrock_agregar'),
    url(r'aztrock/(?P\d+)/$', AztrockUpdate.as_view(), name='aztrock_actualizar'),
    url(r'aztrock/(?P\d+)/borrar/$', AztrockDelete.as_view(), name='aztrock_eliminar'),
)
  
template
form.hml
CreateView y UpdateView
{# ==== TEMPLATE DE LA CLASE CREATEVIEW Y UPDATEVIEW ==== #}
{% extends "base.html" %}
{% block content %}
    
listar
{{ form }}
{% endblock %}
blog_aztrock.html
{# ==== TEMPLATE DE LA CLASE LISTVIEW ==== #}
{% extends 'base.html'>
Aztrock Blog
- 
        {% for a in object_list %}
 - {{ a.nombre }} {% endfor %}
 
{# ==== TEMPLATE DE LA CLASE DELETEVIEW ==== #}
{% extends 'base.html' %}
{% block content %}
eliminar ?
{% endblock %}
 
 
En caso de que que no definamos template_name en AztrockUpdate y AztrockCreate, la clase
buscara en el directorio template general y el directorio template de la aplicacion, el siguiente
template por defecto. aztrock_form.html.
 
 
En el caso de AztrockDelete, la clase buscara apps/aztrock_confirm_delete.html, se debe confirmar
la eliminacion, para poder eliminar lo que queremos.
 
En este ejemplo no necesitamos crear un Form ya que la clase crea el formulario y podemos seleccionar
el campo que deseamos ver.