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. 【全网首发】鸿蒙开源三方组件--跨平台自适应布局yoga组件

    目录: 1.介绍 2.如何使用 3.集成方式 4.附录1:FlexBox科普 5.附录2:相关资料 介绍 yoga是facebook打造的一个跨IOS.Android.Window平台在内的布局引擎, ...

  2. 图解高性能网络架构:Reactor 和 Proactor

    小林,来了. 这次就来图解 Reactor 和 Proactor 这两个高性能网络模式. 别小看这两个东西,特别是 Reactor 模式,市面上常见的开源软件很多都采用了这个方案,比如 Redis.N ...

  3. openpyxl 库

    1. 简介与安装 2.具体示例 2.1 获取workbook与sheet对象 2.2 访问单元格及其值 2.3 写数据 2.4 设置样式 1. 简介与安装 openpyxl 简介 openpyxl 是 ...

  4. Zabbix页面管理

    Zabbix页面管理 Screen Screen翻译成中文为"屏幕",在一些交通管理中心.保安监控.预警中心等等地方都比较常见到监控视频,视频上有多块小视频,实际上Zabbix S ...

  5. 【SpringMVC配置失效】Springboot2.x拦截器配置不无生效

    一.环境 maven springboot版本2.x <parent> <groupId>org.springframework.boot</groupId> &l ...

  6. 【原创】Centos8安装ansible

    1.安装步骤 # 安装epel扩展源 dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rp ...

  7. Android Apk加固的初步实现思路(dex整体加固)

    一.前 言 Android Apk加固的发展已经有一段时间了,相对来说本篇博客要记录的Android加壳的实现思路是4年的东西了,已经被老鸟玩烂了,Android加固的安全厂商也不会采用这么粗犷的方式 ...

  8. 12.PHP_PDO数据库抽象层

    PDO数据库抽象层 其实也就是说,为了方便PHP项目各种数据库切换的方便以及代码兼容性,再各种数据库上又封装了一层,做成了统一的接口,方便数据库使用和切换. PDO链接mysql数据库: <?p ...

  9. Day004 选择结构

    选择结构 if单选择结构(if) if双选择结构(if...else...) if多选择结构(if..else if...else) 嵌套的if结构 switch多选择结构 switch语句中的变量类 ...

  10. vue的快速入门【IDEA版本】

    和vscode相比,使用IDEA进行前端开发并没有那么容易,需要先进行配置 . 安装vue插件,重启idea 鼠标右键添加vue component 点击 file 打开设置 settings,展开 ...