#######################数据模型models.py#######################
#####################################################################
from django.db import models
class User(models.Model):
models.CharField(max_length=45)
models.TextField()
models.BooleanField()
models.DateTimeField(default=datetime.datetime.now())
models.IntegerField()
models.ForeignKey("Achievement", related_name='achievement', verbose_name="achievement")
class Meta:
db_table = '..'
verbose_name = u'用户'
def __unicode__(self):
return self.name
#######################HTTP请求urls.py#######################
#####################################################################
from django.conf.urls import patterns, include, url
urlpatterns = patterns('blog.views'
url(r'^$', 'index', name='index'),
url(r'blog/new/^$', 'new_blog'),
url(r'^blog/topics/?P<topic_name>\w+/new/$', 'new_topic', name='new_topic'),
url(r'^blog/(?P<yesr>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/$', 'blog'),
)
urlpatterns += patterns('guestbook.views',
url(r'^guestbook/$', 'index'),
url(r'^guestbook/add$', 'add_guestbook'),
)
urlpatterns += patterns('catalog.views',
url(r'^catalog/$', 'catalog', name='catalog'),
)
#######################视图函数views.py#######################
#####################################################################
person_01 = Person.objects.all().order_by("-first_name")[:7] #排序、限制数量
person_02 = Person.objects.get() #查询不到就会报错,可以使用try: except 语句或者get_object_or_404通用视图函数
person_03 = Person.objects.filter() #返回格式为列表
person_04 = Person.objects.exclude()
Q和~Q组合查询关键字
from djngo.db.models import Q
specific_does = Person.objects.filter(last="Doe").exclude(Q(first="John") | ~Q(middle="Quincy"))
from django.shortcuts import render_to_response
from django.http import Http404
from django.shortcuts import get_object_or_404, get_list_or_404
from myapp.models import Person
import traceback
from django.http import HttpResponse
import json
关于request
request.method
request.path
request.user
request.META
request.encoding
request.FILES
def cart(req):
result = []
user = req.user
if user.is_active:
result.append({"status": "success" ,"user_id": usser.id})
else:
result.append({"status": "fail"})
return HttpResponse(json.dumps(result))
def personal_detail(request, id):
try:
person = Person.objects.get(id=id)
except Person.DoesNotExist:
raise Http404
# or print traceback.format_exc()
return render_to_response("person_detail.html", {"person": person})
def personal_detail(request, id):
person = get_object_or_404(Person, pk=id)
return render_to_response("person_detail.html", {"person": person})
#######################模板渲染templates#######################
#####################################################################
模板语法
{% for item in item_list %}
<li>{{ item }}</li>
<li>{{ len(item) }}</li>
{% endfor %}
模板过滤器filter
示例:用过滤器把一个字符串列表转换成小写
<ul>
{% for string in string_list %}
<li>{{ string | lower }}</li>
{% endfor %}
<ul>
<table>
<tr>
<th>Name</th>
<th>Available?</th
</tr>
{% for person in person_list %}
<tr>
<td>{{ person.name }}</td>
<td>{{ person.is_avaialble|yesno:"Yes, No" }}</td>
</tr>
{% endfor %}
</table>
标签
{% ifequal object_list|length 10 %}
<ul>
{% for item in item_list %}
<li>{{ item }}</li>
{% endfor %}
</ul>
{% endif %}
{% ifequal object_list|length_is:10 %}
<ul>
{% for item in item_list %}
<li>{{ item }}</li>
{% endfor %}
</ul>
{% endif %}
form
wedget