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

Django 基本操作的更多相关文章

  1. Django基本操作

    Django官网下载页面 安装(安装最新LTS版): pip3 install django==1.11.9 创建一个django项目: 下面的命令创建了一个名为"s8"的Djan ...

  2. python web框架 Django基本操作

    django 操作总结! django框架安装: cmd安装: pip3 install django pycharm安装: 在python变量下 搜索 django 安装 创建django项目: c ...

  3. web框架推导 wsgiref模块 jinja2模板语法 django框架简介 django基本操作

    目录 纯手撸web框架 web框架的本质 手写web框架 存在的问题 基于wsgiref模块 基本介绍 推导流程 代码封装优化 总结 动静态网页 jinja2模块 前端.后端.数据库三者联动 推导流程 ...

  4. CentOS6.9下离线部署Django项目

    最近项目服务器变动,研究了CentOS6.9下httpd2.4+django1.11.16+python3.6+PostgreSQL的部署,之前还有一个ubuntu16.04下的部署等以后整理好后再来 ...

  5. python笔记-19 javascript补充、web框架、django基础

    一.JavaScript的补充 1 正则表达式 1.1 test的使用 test 测试是否符合条件 返回true or false 1.2 exec的使用 exec 从字符串中截取匹配的字符 1.3 ...

  6. day59 django初识

    目录 一.借助wsgiref模块实现简易版web框架 二.动静态页面 三.python三大主流web框架 四.启动一个django项目 1 启动前的注意事项 1.1 计算机的问题 1.2 django ...

  7. Django学习day01随堂笔记

    每日测验 """ 每日测验 1.你所知道的前端框架和实用插件有哪些,他们各有什么特点 2.使用bootstrap需要注意什么,常用的bootstrap样式有哪些 &quo ...

  8. MySQL在Django框架下的基本操作(MySQL在Linux下配置)

    [原]本文根据实际操作主要介绍了Django框架下MySQL的一些常用操作,核心内容如下: ------------------------------------------------------ ...

  9. Django之创建项目、目录层级、基本操作

    创建项目 在合适的位置创建一个目录 打开cmd窗口,进入到创建的目录内 输入django-admin startproject project 目录层级 manage.py 是一个命令行工具,可以使我 ...

随机推荐

  1. 自定义函数和调用函数 return返回值

    1.Q: 为什么要有函数,函数是什么? A: 函数能提高应用的模块性,和代码的重复利用率 2. 函数分为两个阶段: 1.定义阶段 2.调用阶段 3.关于函数调用: 01.函数的内存地址加上()就是调用 ...

  2. JAVAEE_Servlet_16_HttpServletRequest中常用方法(三)

    HttpServletRequest中常用方法(三) * 回顾ServletContext对象,ServletContext对象是Servlet上下文对象 - 创建ServletContext对象 S ...

  3. Day14_79_IO+Properties联合应用

    IO+Properties联合应用 - dbinfo文件中可以存放<key=value> - 像dbinfo这样的文件我们叫做配置文件,配置文件的作用是使程序更加灵活 - 一般在程序中可变 ...

  4. Amazon EFS CSI 驱动程序 为eks 提供存储服务

    官方文档:https://docs.aws.amazon.com/zh_cn/eks/latest/userguide/efs-csi.html

  5. 鸿蒙HI3516-驱动开发(1.1-LTS)

    代码在:https://gitee.com/kwydm/open-harmony-taurus 目录大致结构 1.驱动开发创建目录://vendor/huawei/hdf/LED/src 新建Make ...

  6. Python 并行计算那点事 -- 译文 [原创]

    Python 并行计算的那点事1(The Python Concurrency Story) 英文原文:https://powerfulpython.com/blog/python-concurren ...

  7. Sublime Text 3.1 3170 / 3176 注册码(附降级与禁止更新方法)

    3.1 3176 可用注册码 127.0.0.1 www.sublimetext.com 127.0.0.1 license.sublimehq.com ----- BEGIN LICENSE --- ...

  8. 【VritualEnv】虚拟环境的介绍和基本使用

    一.virtualenv的介绍: 在python开发中,我们可能会遇到一种情况,就是当前的项目依赖的是某一个版本,但是另一个项目依赖的是另一个版本,这样就会造成依赖冲突,而virtualenv就是解决 ...

  9. Win64 驱动内核编程-28.枚举消息钩子

    枚举消息钩子 简单粘贴点百度的解释,科普下消息钩子: 钩子是WINDOWS中消息处理机制的一个要点,通过安装各种钩子,应用程序能够设置相应的子例程来监视系统里的消息传递以及在这些消息到达目标窗口程序之 ...

  10. ColyseusJS 轻量级多人游戏服务器开发框架 - 中文手册(中)

    快速上手多人游戏服务器开发.后续会基于 Google Agones,更新相关 K8S 运维.大规模快速扩展专用游戏服务器的文章.拥抱️原生 Cloud-Native! 系列 ColyseusJS 轻量 ...