Django 模板查询调试

{% if debug %}
Queries

{{ sql_queries|length }} Quer{{ sql_queries|pluralize:"y,ies" }} {% ifnotequal sql_queries|length 0 %} (Show) {% endifnotequal %}
{% for query in sql_queries %}{% endfor %}
# 	SQL 	Time
{{ forloop.counter }} 	{{ query.sql|escape }} 	{{ query.time }}
{% endif %}

Django Django从本地目录服务静态文件(仅限开发)

from django.conf import settings

if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^includes/(?P<path>.*)$', 'django.views.static.serve', {'document_root': 'C:/ClientWork/thosecleverkids/includes'}),
    )

Django 分页

{% load addparam %}
<div class="listing">
	{% if page_obj.has_previous %}
	<a href="{% addparam "page" page_obj.previous_page_number %}" title="Poprzednia strona">
		<img src="{{ MEDIA_URL }}img/aleft.jpg" alt="Poprzednia strona" />
		Poprzednia strona
	</a>
	<img src="{{ MEDIA_URL }}img/sep.jpg" alt="" />
	{% endif %}

	{% for num in page_obj.page_range %}
	  {% if not num %} ...
		{% else %}
		<a href="{% addparam "page" num %}" class="black {% ifequal num page_obj.number %}selected{% endifequal %}" title="Strona {{ num }}">{{ num }}</a>
		{% endif %}
	{% endfor %}

	{% if page_obj.has_next %}
	... <img src="{{ MEDIA_URL }}img/sep.jpg" alt="" />
	  <a href="{% addparam "page" page_obj.next_page_number %}" title="Następna strona">Następna strona <img src="{{ MEDIA_URL }}img/aright.jpg" alt="Poprzednia strona" /></a>
	{% endif %}
<div class="clear"></div>
</div>

Django Django:添加新的admin_tags

# FIRST:

from django import template 
from poms.pomsapp import models

register = template.Library() 

# for People template

@register.inclusion_tag('admin/snippets/personfactoid_info.html') 
def display_personfactoids(person_id): 
    person = models.Person.objects.get(id__exact=person_id) 
    # factoids = models.Factoids.objects.filter(people=person)
    return { 'person': person }


## SECOND:

{% if person.assocfactoidperson_set.all %}

<b>Person associated to factoids:</b></br />

	<table>
	  <tr>
	    <th>Record ID</th>
		<th>Type</th>
	    <th>Short Summary</th>
		<th>Role</th>
	    <th>Source</th>
	  </tr>

	{% for a in person.assocfactoidperson_set.all %}
	  <tr>
	    <td>{{a.factoid.id}}</td>
		<td>{{a.factoid.get_right_subclass.0}}    </td>
	    <td><a href="{% url factoid_detail a.factoid.id %}" title="click to show">{{a.factoid}}</a></td>
	    <td>{{a.role}}</td>
	    <td><a href="{% url source_detail a.factoid.sourcekey.id %}" title="click to show">{{a.factoid.sourcekey}}</a></td>
	  </tr>
	{% endfor %}

	</table>
	
	<br /><hr><hr><hr><br />
{% endif %}



## THIRD

........

{% block related_items_block %}{% endblock %}

........


## FOURTH 

{% extends "admin/change_form.html" %} 
{% load myadmin_tags %} 
{% block related_items_block %}
<h2>Additional information:</h2><br />

  	{% if object_id %}
		{% display_personfactoids object_id %}
	{% endif %} 
	
 {% endblock %}

Django Django:动态访问模型的属性

def attrs_verbose(self):
		model = self.__class__
		# using this form: Record._meta.get_field('created_by').verbose_name
		items = []
		for k, v in self.__dict__.items():
			try:
				x = model._meta.get_field(k).verbose_name
			except:
				x = k
			items += [(x, v)]
		items.sort()
		return items

Django 使用Django发送HTML模板

from django.template import loader, Context

t = loader.get_template('registration/email.txt')
c = Context({
  'name': form.cleaned_data['first_name'],
  'website_name': 'Website Name',
  'website_url': 'http://www.yourwebsite.com/',
  'login_url': 'http://www.yourwebsite.com/login/',
  'username': form.cleaned_data['username'],
})



from django.core.mail import send_mail

send_mail('Thanks for registering at your website', t.render(c), 'webmaster@yourwebsite.com', [form.cleaned_data['email']], fail_silently=False)

Django 修改django管理字段以使用特定的查询集和表单窗口小部件

from django import forms
from django.contrib.admin import widgets

class ScheduleAdminForm(forms.ModelForm):

    profiles = forms.ModelMultipleChoiceField(
                widget = widgets.FilteredSelectMultiple('Profiles',False),
                queryset = Profile.active_objects.all(),
                help_text = "this doesn't show. bummer.")

    class Meta:
        model = Schedule


class ScheduleAdmin(admin.ModelAdmin):

    form = ScheduleAdminForm

admin.site.register(Schedule, ScheduleAdmin)

Django django样本模板

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="Content-Type" content="text/html; charset=utf-8">
<title> Marché autos | {% block title %}{% endblock %}</title>
<script src="/site_media/js/jquery-1.3.2.min.js" type="text/javascript"></script>
<link type="text/css" rel="stylesheet" href="/site_media/css/stylesheet.css">
{% block external %}

{% endblock %}
</head>
<body>
<div id="body>
{% include "include/header.html" %}
{% block content %}{% endblock %}
{% include "include/footer.html" %}
</body>
</html>

Django Django:获取多个表单值

request.POST.getlist('artists')

Django Django if语句和循环

{% get_latest_jobs %}
{% if latest_jobs.count %}
<div class="job-listings">
  <h3>job listings</h3>
  <ul>
    {% for job in latest_jobs %}
    <li>
      <a href="{{ job.get_absolute_url }}"><strong>{{ job.title }}</strong><br>{{ job.location }}</a>
    </li>
    {% endfor %}
  </ul>
</div>
{% else %}
  <p>Sorry, but there are no jobs today..</p>
{% endif %}