[翻译]Django速查表
原文在此:https://code.djangoproject.com/wiki/DjangoCheatSheet
Django速查表
Django教程已经非常好了。这个速查表的作用是创建一个快速开始指南,以便在读过一两遍教程之后能有一个更好的手册。
- 创建一个项目…
django-admin.py startproject AcmeIntranet
cd AcmeIntranet
mkdir templates
mkdir media
settings.py
- 数据库设置
- 设置媒体文件夹( e.g. /home/joe/AcmeIntranet/media )
- media包含公共使用的文件,比如css和js文件等
- 设置模板文件夹路径( e.g. /home/joe/AcmeIntranet/templates )
- templates文件夹包含Django使用的html模板
- 你的应用很有可能有自己的模板文件夹。请在创建的同时就将他们添加进去。 ( e.g. /home/joe/AcmeIntranet/templates/invoices )
python manage.py syncdb
2.创建一个发票应用…
python manage.py startapp invoices
添加”AcmeIntranet.invoices”到settings.py文件中的INSTALLED_APPS。
创建数据模型
from django.db import models
from django.contrib.auth.models import User
class Ticket (models.Model):
user = models.ForeignKey (User)
case_number = models.IntegerField()
dollar_amount = models.DecimalField('Cost (in dollars)', max_digits=10, decimal_places=2)
def __unicode__(self):
return u"%s" % self.id
参见: model api, model examples
添加应用到settings.py中的INSTALLED_APPS.settings.py:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
'invoices',
)
验证模型并提交到数据库:
python manage.py validate
python manage.py sql invoices
python manage.py syncdb
如果你在settings.py的INSTALLED_APPS中开启了admin,那你也可以注册模型到管理界面,这样你就有了一个免费的CRUD的界面了。
# In admin.py in the invoices directory...
import models
from django.contrib import admin
admin.site.register(models.Ticket)
注意:上面的行从import和from开始,默认是被注释掉的。去掉注释就能启用admin了。
设计你的urls
在项目的根文件夹,编辑urls.py:
(r'^invoices/', include('AcmeIntranet.invoices.urls')),
在发票应用中创建urls.py:
from django.conf.urls.defaults import *
from models import Ticket
info_dict = {
'queryset': Ticket.objects.all()
}
urlpatterns = patterns('',
(r'^$', 'django.views.generic.list_detail.object_list', info_dict),
(r'^new/$', 'django.views.generic.create_update.create_object', { 'model': Ticket } ),
(r'^(?P<object_id>\d+)/$', 'django.views.generic.list_detail.object_detail', info_dict),
)
参见: generic views
创建你的模板
首先在templates文件夹中创建Acme_base.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>{% block title %}My amazing site{% endblock %}</title>
</head>
<body>
<div id="content">
{% block content %}{% endblock %}
</div>
</body>
</html>
然后在templates/invoices文件夹中创建ticket_list.html
{% extends "Acme_base.html" %}
{% block title %} Listing Invoices {% endblock %}
{% block content %}
{% for invoice in object_list %}
<p>{{ invoice.dollar_amount }}</p>
{% endfor %}
{% endblock %}
请参阅:
http://www.revsys.com/django/cheatsheet/
http://www.mercurytide.co.uk/news/article/django-cheat-sheet/
http://code.djangoproject.com/wiki/TemplateTagsCheatSheet
如果你是一个思维导图粉: http://code.djangoproject.com/wiki/MindmapCheatsheetForGenericViewsAPI
参见: template authoring guide
[翻译]Django速查表的更多相关文章
- 【译】Swift 字符串速查表
[译]Swift 字符串速查表 2015-12-18 10:32 编辑: suiling 分类:Swift 来源:CocoaChina翻译活动 10 5585 Swift字符串 招聘信息: iOS高级 ...
- 简明 Git 命令速查表(中文版)
原文引用地址:https://github.com/flyhigher139/Git-Cheat-Sheet/blob/master/Git%20Cheat%20Sheet-Zh.md在Github上 ...
- .htaccess下Flags速查表
Flags是可选参数,当有多个标志同时出现时,彼此间以逗号分隔. 速查表: RewirteRule 标记 含义 描述 R Redirect 发出一个HTTP重定向 F Forbidden 禁止对URL ...
- Markdown 语法速查表
Markdown 语法速查表 1 标题与文字格式 标题 # 这是 H1 <一级标题> ## 这是 H2 <二级标题> ###### 这是 H6 <六级标题> 文 ...
- jQuery API 3.1.0 速查表-打印版
jQuery API 3.1.0 速查表-打印图,(API来自:http://jquery.cuishifeng.cn/index.html)
- java-Mysql-SQLServer数据类型匹配速查表
java-Mysql-SQLServer数据类型匹配速查表 Mysql ************************************ 当前列 ClassName ColumnType Di ...
- python 下的数据结构与算法---2:大O符号与常用算法和数据结构的复杂度速查表
目录: 一:大O记法 二:各函数高阶比较 三:常用算法和数据结构的复杂度速查表 四:常见的logn是怎么来的 一:大O记法 算法复杂度记法有很多种,其中最常用的就是Big O notation(大O记 ...
- HTML5速查表
HTML5速查表 标签 描述 版本 属性 <!--...--> 定义注释 4 / 5 none <!DOCTYPE> 定义文档类型 4 / 5 none <a> 定 ...
- Java, C#, Swift语法对比速查表
原文:Java, C#, Swift语法对比速查表 Java 8 C# 6 Swift 变量 类型 变量名; 类型 变量名; var 变量名 : 类型; 变量(类型推断) N/A var 变量名= ...
随机推荐
- poj 4044 Score Sequence(暴力)
http://poj.org/problem?id=4044 大致题意:给出两个班级的成绩,先按降序排序,而且没有成绩同样的.然后求连续的最长公共子序列.输出时,先输出最长公共子序列,然后按个位数字递 ...
- Android 标签控件
版本号:1.0 日期:2014.7.24 版权:© 2014 kince 转载注明出处 在有的应用中可能须要设置一些标签来方便用去去查询某些信息,比方手机助手或者购物软件之类都会有一些标签. ...
- JAVA处理XML
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName>< ...
- CSS hank
CSS hank CSS hank是为了让CSS代码兼容不同浏览器,也可以通过CSS hank为不同的浏览器设置不同的CSS样式. CSS hank的3种表现形式: 类内部hank IE6能识别下划线 ...
- Java学习之equals和==的区别
转自:http://www.cnblogs.com/zhxhdean/archive/2011/03/25/1995431.html java中的数据类型,可分为两类: 1.基本数据类型 也称原始数 ...
- apache 配置文件管理
1. Apache配置系统 从整体来看apache的配置系统包括三个部分: (1) 配置文件:比如 httpd.conf .htaccess (2) 配置指令:在配置文件 httpd.conf ...
- HDU 3729 二分匹配 反向匹配
题意: 给定 n个学生 说的 自己 考试排名的 可能范围 确定最多几个人说真话 如果有多种答案,输出字典序最大的那种( 要求字典序最大,所以solve中从最大字典序开始匹配) 思路: 题目给定 点 ...
- java生成随机字符串
学习java comparable特性时候,定义如下Student类,需要需要随机添加学生姓名以及学号和成绩,这是java如何随机生成名字,根据我的查询,我找到目前java库支持两种方法. 1. or ...
- html常用标签有哪些
html看似复杂,其实常用的标签并不多,这里总共介绍一些html的常用标签 文字处理: ①标题:<h1> to <h6> ②段落:<p>文字段落</p> ...
- QT小技巧—更好管理项目(增加预编译头文件,并且指定moc文件的生成位置)good
预编译加速编译 QT也可以像VS那样使用预编译头文件来加速编译器的编译速度.首先在.pro文件中加入: CONFIG += precompiled_header 然后定义需要预编译的头文件: PREC ...