编写第一个Django页面
编写流程
- 数据模型(finished)
- URL配置
- 控制器
- 页面
URL配置
总url.py的代码
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^$', "block.views.block_list"),
]
- r 防止后面的字符串被转义
views.py (控制器)编写
from django.shortcuts import render_to_response
from models import Block
def block_list(request):
blocks = Block.objects.all().order_by("-id")
return render_to_response("block_list.html", {"blocks": blocks})
- render_to_response 渲染及返回模板
- .objects 对数据库操作
- -id 负号表示倒序
- blocks 的类型是一个django定义的数据类型??set,查询的结果集
- render_to_response 字典是给模板渲染的变量,可以多个key
页面模板
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Python部落论坛</title>
</head>
<body>
<h1>Python部落论坛</h1>
{% for block in blocks %}
<div class="blockitem">
{{ block.name }}
{{ block.decs }}
{{ block.manager.username }}
</div>
{% endfor %}
</body>
</html>
- for 对每一个block输出一遍开闭标签部分的html代码
- {{ }} django 语法,把大括号里面的值输出
创建模板html文件
mkdir block/templates
touch block/templates/block_list.html
用bootstrap美化页面
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
grid网格来划分布局
<div class="container">
<div class="row">
<div class="col-sm-10 col-md-6">
A
</div>
<div class="col-sm-10 col-md-6">
B
</div>
</div>
</div>
表格
<table class="table">
<tr>
<td>A</td>
<td>B</td>
</tr>
<tr>
<td>C</td>
<td>D</td>
</tr>
</table>
- table class 指定表格的样式table table-stipe table-bordered table-hover等
按钮
<button type="button" class="btn btn-success"></button>
- bootstrap 定义class,class里面两个属性 第一个基本 第二个形式
well 井
<div class="well">...</div>