[翻译]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 变量名= ...
随机推荐
- 多版本jQuery的使用剖析
</div> </div> <!-- basic scripts --> <!--[if !IE]> --> <!-- <![endi ...
- dataguard dubugs
alter database open read only;alter database open read only*ERROR at line 1:ORA-10456: cannot open s ...
- Uber司机一周体验记:成单率仅57%
虽然注册过程不顺利,但耗时一下午终究还是当上人民优步司机了.而且一周下来也完成了十几单,个中滋味恐怕只有载着陌生的乘客开上路才能体会. 第一单 一位赶去面试的年轻人,刚来北京两年,因为路线不熟坐错了公 ...
- C++如何将一个整数输出为小数
double a=3; //一定是double不能是int cout.setf(ios::fixed); cout.precision(2); cout< ...
- Windows 配置JAVA的环境变量
Java是由Sun公司开发的一种应用于分布式网络环境的程序设计语言,Java语言拥有跨平台的特性,它编译的程序能够运行在多种操作系统平台上,可以实现“一次编写,到处运行”的强大功能. 工具/原料 JD ...
- 两种mysql文件安装方式——win7 32位OS
官网给出的安装包有两种格式,一个是msi格式,一个是zip格式的. 1. .ZIP格式安装 http://jingyan.baidu.com/article/f3ad7d0ffc061a09c3345 ...
- load和ready
<一>ready和load ready先执行,load后执行 DOM文档加载的步骤: () 解析HTML结构. () 加载外部脚本和样式表文件. () 解析并执行脚本代码. () 构造HT ...
- 关于LZO和LZOP
LZO 是一个适合实时解压.压缩的压缩库 LZOP 基于LZO库的压缩解压工具 PS:有了压缩解压库LZO,还不能直接操作文件压缩解压,需要LZOP 下载的话直接google吧~~~
- C part 1 -- 指令篇
Windows系统的cmd(command命令行工具): Shutdown -s -t 600:表示600秒后自动关机 Shutdown -a :可取消定时关机 Shutdown -r -t 600: ...
- IOS 定位服务与地图的应用开发
1.定位服务 现在的移动设备很多都提供定位服务,IOS设备提供3种不同定位途径: (1)WiFi定位,通过查询一个WiFi路由器的地理位置的信息,比较省电:IPhone,IPod touch和IPad ...