== Introduce ==
A command(create_app) for django, auto generate CRUD file and
method(view/urls/template).
you can download from:
http://vik.haoluobo.com/blog/wp-content/uploads/2009/03/hidjangoen.zip
== how to use ==
Put django_extensions folder to you project app directory, and add
django_extensions to INSTALLED_APPS.
run command, manage.py create_app <app_name>
== demo ==
hidjango is a demo for this command(create_app)。
1. run "manage.py create_app blog" to create a app named blog.
1. open \hidjango\settings.py, and add hidjango.blog to INSTALLED_APPS.
1. run "manage.py syncdb" to initialize db.
1. open \hidjango\urls.py, and add (r'^',
include('hidjango.blog.urls')), (note: this url map has added, no need
to do again).
1. run "manage.py runserver" to start django's develop server.
1. open exploere and input http://127.0.0.1:8000/.
== note ==
* some code from
django-command-extensions(http://code.google.com/p/django-command-extensions
)。
* this command is simple now, need to add some option.
== template for create_app ==
=== files ===
{{{
/django_extensions/conf/app_template/
|~templates/
| `~{{ app_name }}/
| |-base.html
| |-edit.html
| |-list.html
| `-new.html
|~templatetags/
| `-__init__.py
|-__init__.py
|-admin.py
|-forms.py
|-models.py
|-tests.py
|-urls.py
`-views.py
}}}
=== views.py ===
{{{
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
from django.shortcuts import render_to_response, get_object_or_404
from django import template
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
from forms import {{ Model }}Form
from models import {{ Model }}
def list(request, template_name = '{{ model }}/list.html'):
return render_to_response(template_name, {
"{{ model }}s": {{ Model }}.objects.all(),
}, context_instance=template.RequestContext(request))
def new(request, form_class={{ Model }}Form, template_name = '{{ model
}}/new.html'):
if request.method == "POST":
form = form_class(request.POST)
if form.is_valid():
{{ model }} = form.save(commit=False)
{{ model }}.save()
return HttpResponseRedirect(reverse("{{ model }}_list"))
else:
form = form_class()
return render_to_response(template_name, \
{ "form": form }, \
context_instance=template.RequestContext(request))
def edit(request, id, form_class={{ Model }}Form, template_name="{{
model }}/edit.html"):
{{ model }} = get_object_or_404({{ Model }}, id=id)
if request.method == "POST":
form = form_class(request.POST, instance={{ model }})
if form.is_valid():
{{ model }} = form.save(commit=False)
{{ model }}.save()
return HttpResponseRedirect(reverse("{{ model }}_list"))
else:
form = form_class(instance={{ model }})
return render_to_response(template_name, {
"form": form,
"{{ model }}": {{ model }},
}, context_instance=template.RequestContext(request))
def delete(request, id):
{{ model }} = get_object_or_404({{ Model }}, id=id)
{{ model }}.delete()
return HttpResponseRedirect(reverse("{{ model }}_list"))
}}}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---