Django 基本操作

www.djangobook.com
djangobook.py3k.cn

1、django-admin.py startproject mysite
2、manage.py startapp blog
3、修改文件 setting.py,urls.py
4、定义了一个index,在blog/views.py
5、创建了模板,blog/templates/index.html
6、views.py文件修改
7、manage.py runserver 启动一个web服务器
8、模板语法 if 与 for
% for book in book_list reversed %}
<li>{{ book }}</li>
{% if forloop.first %}
<p>begin</p>
{% endif %}

<p>forloop.counter : {{ forloop.counter }}</p>
<p>forloop.counter0 : {{ forloop.counter0 }}</p>
<p>forloop.revcounter : {{ forloop.revcounter }}</p>
<p>forloop.revcounter0 : {{ forloop.revcounter0 }}</p>
{% if forloop.last %}
<p>begin</p>
{% endif %}
{% empty %}
<p>没有元素</p>
{% endfor %}
{% for key in user %}
<p>{{ key }}</p>
{% endfor %}

{% for key,value in user.items %}
<p>{{ key }}:{{ value }}</p>
{% endfor %}
9、过滤器
<p>{{ book | upper }}</p>
<p>{{ book | upper | lower | capfirst }}</p>

10、自定义过滤器
在blog中建一个templatetags
from django import template

register = template.Library()


def percent(value):
return str(value) + "%"


register.filter(percent)

使用自定义的过滤器
{% load percent %}
<p>{{ data | percent}}</p>

11、url配置
(1)在blog的views.py中
id = request.GET.get('id')
name = request.GET.get('name')
地址栏输入请求地址
http://127.0.0.1:8000/blog/page1/?id=111&name=kingrain
page.html中
<p>id is {{ id}}</p>
<p>name is {{ name}}</p>

(2)在blog的urls.py中
url(r'^page2/(\d{4})/$', views.page2, name='page2'),
在blog的views.py中
def page2(request, p1):
地址栏输入请求地址
page2后面必须有4个数字


在blog的urls.py中
url(r'^page2/(\d{4})/(\w+)/$', views.page2, name='page2'),
在blog的views.py中
def page2(request, p1,p2):
地址栏输入请求地址
page2后面必须有4个数字,在后面必须有数字或字母1个

在blog的urls.py中
url(r'^page3/(?P<id>\d{4})/(?P<name>\w+)/', views.page3, name='page3'),
在blog的views.py中
def page2(request, p1,p2):
地址栏输入请求地址
page2后面必须有4个数字且必须为id,在后面必须有数字或字母1个且必须为name

12、orm(一一对应 映射)
学生:姓名 年龄
class Student
name 字符类型
age 整数类型

table tb_student

name varchar(20)
age int

原来:select * from tb_student
现在(orm):Student.getAll()

13、数据库交互
添加好类后在控制台执行
python manage.py migrate
python manage.py makemigrations blog
python manage.py makemigrations blog 0001


从数据库到文件
python manage.py inspectdb
python manage.py inspectdb > blog/models.py

14、
age__gt = 16(age > 16)
age__gte = 16(age >= 16)

__contains (%%)

15、数据库操作
查找id 为1 的数据
student = Student.objects.get(id=1)
将其名字命名为kingrain
student.name = "kingrain"
将其年龄改为18
student.age = 18
数据库数据保存
student.save()
数据库修改
将年龄大于20的名字改为xyz
student_list = Student.objects.filter(age__gt=20).update(name = "xyz")
数据库新增
newstudent = Student(name="abc",age=10,time2school="2017-07-10")
newstudent.save()
数据库删除
student = Student.objects.get(id=1)
student.delete()

 16、修改完数据库后要执行的命令

python manage.py migrate blog

python manage.py makemigrations blog

 

posted @ 2017-07-10 14:30  kingrain  阅读(197)  评论(0编辑  收藏  举报