day60 Pyhton 框架Django 03
day61 内容回顾 1.安装 1. 命令行:
pip install django==1.11.18
pip install django==1.11.18 -i 源
2. pycharm
setting —》 解释器 —》 点+号 —》 输入django —》 选择版本—》安装 2.创建项目 1. 命令行:
django-admin startproject 项目名称
1. pycharm
file ——》 new project ——》 django ——》 项目目录 ——》选择解释器——》输入app名称 ——》创建 3.启动项目 1. 命令行:
切换到项目根目录下 manage.py
python manage.py runserver # 127.0.0.1:8000
python manage.py runserver 80 # 127.0.0.1:80
python manage.py runserver 0.0.0.0:80 # 0.0.0.0:80
2. pycharm
配置
点击绿三角 4.urls.py 地址和函数的对应关系 from django.conf.urls import url
from app01 import views urlpatterns = [
url(r'^login/', views.login),
url(r'^index/', views.index),
url(r'^test/', views.test),
] 5.函数 接收一个参数:request 跟请求相关 request.method 请求方法 GET POST request.POST form表单提交POST请求的数据 {} get() [] request.GET url上的参数 {} 返回值: from django.shotcuts import HttpResponse, render, redirect HttpResponse('显示的内容') ——》 字符串 render(request,‘HTML文件名’) ——》 返回一个完整的HTML页面 redirect('要跳转的地址') ——》 重定向 Location : 地址 6.app 1.创建APP 1. 命令行:
python manage.py startapp app名称
2. pycharm
tools ——》 run manage.py task ——》 startapp app名称 2.注册app INSTALLED_APPS = [
'app01',
'app01.apps.App01Config',
] 7.配置文件 静态文件: STATIC_URL = '/static/' # 别名 STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static'), ] 模板: TEMPLATES
'DIRS': [os.path.join(BASE_DIR, 'templates')] 中间件: 注释掉 'django.middleware.csrf.CsrfViewMiddleware' 数据库 8.form表单 1. action=‘’ method='post' action 提交的地址 method提交的方式
2. 所有的input标签要有name属性
3. 要有一个type=submit input标签 或者 button按钮 9.get 和 post 区别 get 获取一个页面 地址?k1=v1&k2=v2 request.GET post 提交数据 request.POST 10.django使用mysql数据库的流程: 1. 创建一个mysql数据库
2. 配置
ENGINE: mysql
NAME: 数据库名
HOST: IP '127.0.0.1'
PORT : 3306
USER: 'root'
PASSWORD: ''
3. 告诉django使用pymysql模块连接mysql数据库
在于settings同级目录下的init.py中写
import pymysql
pymsql.install_as_MySQLdb()
4. 创建表(在app下的models.py中写类) from django.db import models class User(models.Model): # app名称_user
username = models.CharField(max_length=20) # varchar(20)
password = models.CharField(max_length=20) def __str__(self):
return self.username 1. 执行数据库迁移的命令 python manage.py makemigrations # 保存models变更记录 python manage.py migrate # 把变更记录同步到数据库中 11.ORM 面向对象和关系型数据库的一个映射 映射关系 类 ——》 表 对象 ——》 数据行 属性 ——》 字段 ORM完成的操作: 1. 操作数据表
1. 操作数据 ORM的简单操作: form app01 import models
# 查询所有的数据
models.User.objects.all() # queryset 对象列表
# 查询一个数据
obj = models.User.objects.get(username='alex') # 对象
obj.username # 'alex'
# 查询满足条件的所有数据
models.User.objects.filter(username='alex') # 对象列表 今日内容 图书管理系统 单表的增删改查 1.展示 设计数据表 from django.db import models class Publisher(models.Model):
pid = models.AutoField(primary_key=True) # 主键
name = models.CharField(max_length=32) # varchar(32) def __str__(self):
return self.name 设计URL: from app01 import views urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^publisher/', views.publisher), ] 写函数: from django.shortcuts import render
from app01 import models # 展示出版社列表
def publisher(request):
# 从数据库获取到所有的数据
all_publisher = models.Publisher.objects.all()
# 返回一个包含数据的页面
return render(request, 'publisher.html', {"all_publisher": all_publisher}) 写模板: <table border="1">
<thead>
<tr>
<th>ID</th>
<th>名称</th>
</tr>
</thead>
<tbody>
{% for i in all_publisher %}
<tr>
<td>{{ i.pk }}</td>
<td>{{ i.name }}</td>
</tr>
{% endfor %}
</tbody>
</table>
day60 Pyhton 框架Django 03的更多相关文章
- pyhton框架Django之cookie和session
一,cookie和session的理解 cookies 是浏览器为 Web 服务器存储的一小段信息. 每次浏览器从某个服务器请求页面时,它向服务器回送之前收到的cookies.它保存在浏览器下的某个文 ...
- day64 Pyhton 框架Django 07
day67 内容回顾 视图 1. CBV 定义 from django.views import View class Addpub(View): def get(self,request): sel ...
- day63 Pyhton 框架Django 06
内容回顾 1.装饰器 装饰器:是一个闭包函数,在不改变原函数的代码和调用方式的基础上,给原函数增加功能. def wrapper(func): def inner(*args,**kwargs): # ...
- day62 Pyhton 框架Django 05
内容回顾 1.变量 render(request,'模板文件名',{ k1:v1 }) {{ k1 }} {{ list.0 }} {{ dict.key }} {{ dict.keys }} {{ ...
- day61 Pyhton 框架Django 04
内容回顾 1.django处理请求的流程: 1. 在浏览器的地址栏输入地址,回车发get请求: 2. wsgi模块接收请求: 3. 在urls.py文件中匹配地址,找到对应的函数: 4. 执行函数,返 ...
- day58 Pyhton 框架Django 01
内容回顾 python基础 网路编程 并发编程 数据库 前端 osi7层 tcp/ip 5层模型 应用层 表示层 ...
- python运维开发(十七)----jQuery续(示例)web框架django
内容目录: jQuery示例 前端插件 web框架 Django框架 jQuery示例 dom事件绑定,dom绑定在form表单提交按钮地方都会绑定一个onclick事件,所有查看网站的人都能看到代码 ...
- Web框架——Django笔记
Web框架--Django笔记 MVC和MTV MVC:Model.View.Controller MTV:Model.Template.View Django--MTV 1.创建Django程序 ...
- Python3.5学习十八 Python之Web框架 Django
Python之Web框架: 本质:Socket 引用wsgiref创建web框架 根据web框架创建过程优化所得: 分目录管理 模板单独目录 执行不同函数单独存入一个方法py文件 Web框架的两种形式 ...
随机推荐
- 利用jquery的$.Deferred方法在一个函数内获取另一个函数的返回值
使用场景:方法B需要方法A执行完成之后再执行,比如方法B中有用到方法A的变量:(需要引入jQuery1.5以后的版本) function A(){ var deffered = new $.Defer ...
- TP6.0 一对多模型关联 hasMany
本文测试关联方法都采用预载入查询 $data = Article::with('comments')->select(); halt($data->toArray()); 1. 创建数据表 ...
- Vue 侦听器 watch
1. 侦听器 watch Vue 提供了一种更通用的方式来观察和响应 Vue 实例上的数据变动:侦听属性 当属性发生改变时,自动触发属性对应的侦听器. 当需要在数据变化时执行异步或开销较大的操作时,这 ...
- odoo提示你没有查看此类文档的权限
问题: odoo出现提示信息:"抱歉, 你没有访问此类型文档的权限 '未知' (_unknown). 没有为此操作指定权限组 - (操作: read, 用户: 2)" 出错原因: ...
- DVWA sql注入low级别
DVWA sql注入low级别 sql注入分类 数字型注入 SELECT first_name, last_name FROM users WHERE user_id = $id 字符型注入 SELE ...
- pytest自学第二期
2.1 通过python解释器调用 pytest 我不知道有什么用:-) 以后就这样,如果有自己学过但是不知道的东西,就挂在那里晒着鞭尸,一直不会就一直鞭尸,直到自己参透了其中的道理再回到这里补全 在 ...
- 求第k小的数
题目链接:第k个数 题意:求n个数中第k小的数 题解: //由快速排序算法演变而来的快速选择算法 #include<iostream> using namespace std; const ...
- java进阶(23)--List接口
一.基本概念 1.有序可重复 2.有下标 3.包含ArraList.LinkedList.Vector 二.List中特有的方法 且常用 (以下军均为数组通用方法) 1.void add(int ...
- python3-day5
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...
- Java集合-07Map接口及其抽象类
简介 前面把List基本记录完了,对于集合List,Map,Set,因为Set基于Map,故先记录Map. 这一篇主要记录Map接口及其抽象类(java version:1.8) 整体架构 参考上图, ...