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的更多相关文章

  1. pyhton框架Django之cookie和session

    一,cookie和session的理解 cookies 是浏览器为 Web 服务器存储的一小段信息. 每次浏览器从某个服务器请求页面时,它向服务器回送之前收到的cookies.它保存在浏览器下的某个文 ...

  2. day64 Pyhton 框架Django 07

    day67 内容回顾 视图 1. CBV 定义 from django.views import View class Addpub(View): def get(self,request): sel ...

  3. day63 Pyhton 框架Django 06

    内容回顾 1.装饰器 装饰器:是一个闭包函数,在不改变原函数的代码和调用方式的基础上,给原函数增加功能. def wrapper(func): def inner(*args,**kwargs): # ...

  4. day62 Pyhton 框架Django 05

    内容回顾 1.变量 render(request,'模板文件名',{ k1:v1 }) {{ k1 }} {{ list.0 }} {{ dict.key }} {{ dict.keys }} {{ ...

  5. day61 Pyhton 框架Django 04

    内容回顾 1.django处理请求的流程: 1. 在浏览器的地址栏输入地址,回车发get请求: 2. wsgi模块接收请求: 3. 在urls.py文件中匹配地址,找到对应的函数: 4. 执行函数,返 ...

  6. day58 Pyhton 框架Django 01

    内容回顾 python基础    网路编程    并发编程    数据库    前端     osi7层           tcp/ip 5层模型    应用层    表示层             ...

  7. python运维开发(十七)----jQuery续(示例)web框架django

    内容目录: jQuery示例 前端插件 web框架 Django框架 jQuery示例 dom事件绑定,dom绑定在form表单提交按钮地方都会绑定一个onclick事件,所有查看网站的人都能看到代码 ...

  8. Web框架——Django笔记

    Web框架--Django笔记 MVC和MTV MVC:Model.View.Controller MTV:Model.Template.View Django--MTV 1.创建Django程序   ...

  9. Python3.5学习十八 Python之Web框架 Django

    Python之Web框架: 本质:Socket 引用wsgiref创建web框架 根据web框架创建过程优化所得: 分目录管理 模板单独目录 执行不同函数单独存入一个方法py文件 Web框架的两种形式 ...

随机推荐

  1. 3896. 【NOIP2014模拟10.26】战争游戏

    鉴于如此一道恶心的题,作者还花了一个晚上草草学了tarjan. 于是乎,这道题就是道tarjan 具体怎么实现呢?正解上有个什么树形DP,看的我一脸懵逼. 这道题可以运用到tarjan一个高科技的算法 ...

  2. xUnit测试的顺序执行总结

    cmliu 1,演示环境:windows 10企业版+Visual Studio 2019:.NET Core3.1:xUnit 2.4.1:.NET Standard 2.0.3 3,场景描述:前几 ...

  3. JAVA热部署,通过agent进行代码增量热替换!!!

    在前说明:好久没有更新博客了,这一年在公司做了好多事情,包括代码分析和热部署替换等黑科技,一直没有时间来进行落地写出一些一文章来,甚是可惜,趁着中午睡觉的时间补一篇介绍性的文章吧. 首先热部署的场景是 ...

  4. django.db.utils.InternalError: (1091, "Can't DROP 'cre_time'; check that column/key exists")

    在执行命令python manage.py migrate时报错:django.db.utils.InternalError: (1091, “Can’t DROP ‘cre_time’; check ...

  5. python3中抛异常except后面参数

    try: xxx except exception as e: print("给exception取了个别名叫做e") else: ccc

  6. [程序员代码面试指南]栈和队列-最大值减去最小值 小于或等于num 的子数组的数量(单调队列)

    题目 给定数组arr和整数num,求数组的子数组中有多少个的满足"最大值减去最小值<=num". 解题思路 分析题目,有结论: 如果数组arr[i...j]满足条件,则它的每 ...

  7. 分布式系统监视zabbix讲解九之使用snmp监控windows

    zabbix监控windows演示 第一步:开启服务. 控制面板>程序>程序和功能>打开或关闭windows功能,勾选上简单网络管理协议(SNMP),以及下面的子程序.点击确定 第二 ...

  8. 1000000 / 60S 的 RocketMQ 不停机,扩容,平滑升级!

    一.背景 1.各业务系统持续迭代过程中,JDK.SpringBoot.RocketMQ Client 等框架也进行了升级,高版本的 RocketMQ Client 发送的消息到低版本中,在控制台中午无 ...

  9. 使用eclipse启动tomcat,正常模式下可以启动tomcat,却在debug模式下无法启动tomcat 问题解决

    这个问题可能是由于eclipse和tomcat的交互而产生的,在以debug模式启动tomcat时,发生了读取文件错误,eclipse自动设置了断点,导致tomcat不能正常启动. 解决方法把brea ...

  10. 使用AOP和Validator技术对项目接口中的参数进行非空等校验

    javax.validation.Validator基础知识补充: validator用来校验注解的生效,如: @NotBlank(message = "地址名不能为空") pri ...