Django之form表单操作
小白必会三板斧
from django.shortcuts import render,HttpResponse,redirect
HttpRespone:返回字符串
render:返回html页面
redirect:重定向
静态文件配置
静态文件:网站所用到的,自己写好js,自己写好css,第三方的框架bootstrap fontwesome sweetalert
通常情况下网站所用到的静态文件资源统一都放在static文件下
STATIC_URL='/static' 是访问静态资源的接口前缀
只要你想要访问静态资源你就必须以static开头
手动配置静态文件访问资源
STATICFILES_DIRS=[
os.path.join(BASE_DIR,'static'),
os.path.join(BASE_DIR,'static1')
]
接口前缀,动态解析
{%load static%}
<\link rel="stylesheet" href="{% static'bootstrap/css/bootstrap.min.css'%}">
<\script src="{% static 'bootstrap/js/bootstrap.min.js %'}">
form表单操作
form表单 action参数可以写的形式
1、不写 默认朝当前地址提交
2、只写后缀/index/
3、写全路径
form表单默认朝后端提交的方式,默认是get请求
缺点:
1、不安全
2、get请求携带的参数有大小限制(最大不能超过4kb)
前期你如果提交post请求,你就去settings.py文件注释掉一个中间件
'django.middleware.csrf.CsrfViewMiddleware',
request对象及方法
前后端数据交互
如何获取请求方式
1、获取post请求携带的数据
request.POST
2、获取get请求携带的数据
request.GET
get和post在后端获取用户数据的时候,规律是一样的
request.POST.get('username')默认只取列表的最后一个元素
如果你想将列表完整的取出,你必须用getlist()
pycharm连接数据库 django连接数据库
第一步配置文件中配置
DATABASES={
'default':{
'ENGINE':'django.db.backends.mysql',
'NAME':'数据库名',
'USER':'root',
'PASSWORD':'',
'HOST':'127.0.0.1',
'PORT':3306,
'CHARSET':'utf8'
}
}
第二步
django默认使用的是mysqldb连接数据库,但是该模块不支持了
所以你要告诉django不要用mysqldb该用pymysql连接
可以在项目下面的__init__.py也可以在应用名下面的__init__.py文件中指定
import pymysql
pymysql.install_as_MySQLdb()
django orm简介
orm对象关系映射
类 数据库的表
对象 表的记录
对象获取属性 记录的某个字段对应的值
优点:能够让一个不会数据库操作的人,也能够简单快捷去使用数据库
缺点:由于封装程度太高可能会导致程序的执行效率偏低
有时候结合项目需求 可能需要你手写sql语句
注意事项:
1、django的orm不会自动帮你创建库,库需要你自己手动创建
表会自动帮你创建 ,你只需要书写符合django orm语法的代码即可
在应用下所在的models.py中书写类
数据库迁移
python manage.py makemigrations
python manage.py migrate
只要你在models.py中修改了跟数据库相关的代码,你就必须重新开始执行上面两条命令
Django之form表单操作的更多相关文章
- Django的form表单
html的form表单 django中,前端如果要提交一些数据到views里面去,需要用到 html里面的form表单. 例如: # form2/urls.py from django.contrib ...
- 转载:Django之form表单
转载: 一.使用form类创建一个表单 先定义好一个RegForm类: forms.py from django import forms # 导入forms类 class NameForm(form ...
- Django 11 form表单(状态保持session、form表单及注册实现)
Django 11 form表单(状态保持session.form表单及注册实现) 一.状态保持 session 状态保持 #1.http协议是无状态的:每次请求都是一次新的请求,不会记得之前通信的状 ...
- Django--分页器(paginator)、Django的用户认证、Django的FORM表单
分页器(paginator) >>> from django.core.paginator import Paginator >>> objects = ['joh ...
- Day19 Django之Form表单验证、CSRF、Cookie、Session和Model操作
一.Form表单验证 用于做用户提交数据的验证1.自定义规则 a.自定义规则(类,字段名==html中的name值)b.数据提交-规则进行匹配代码如下: """day19 ...
- django中form表单的提交:
一,关于表单: 表单在百度百科的解释: 表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法. 表单域 ...
- Django之form表单组件
Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否 ...
- django之form表单验证
django中的Form一般有两种功能: 输入html 验证用户输入 #!/usr/bin/env python # -*- coding:utf- -*- import re from django ...
- Django的form表单之文件上传
在生成input标签的时候可以指定input标签的类型为file类型 <!DOCTYPE html> <html lang="en"> <head&g ...
随机推荐
- TCP/IP协议和socket
1.传输层基于tcp协议的三次握手和四次挥手? 传输层有两种数据传输协议,分别为TCP协议和UDP协议,其中TCP协议为可靠传输,数据包没有长度设置,理论可以无限长,而UDP协议为不可靠传输,报头一共 ...
- MFC在子线程中创建窗口(PostMessage方法)
1.创建子线程 C++创建线程的方式比较多 1)最简单易用的<thread>头文件,但是这种方法创建的子线程中无法给主线程PostMessage消息(也可能是我操作有误,总之没成功) 2) ...
- 虚拟机中CentOS 6.5 添加扩展分区
此扩展方法要求支持LVM 1.更改虚拟机配置 虚拟机->设置->硬盘->扩展磁盘容量 fdisk -l 查看,发现硬盘空间变大了 [root@thj Desktop]# fdisk ...
- 连续张量理解和contiguous()方法使用,view和reshape的区别
连续张量理解和contiguous()方法使用,view和reshape的区别 待办 内存共享: 下边的x内存布局是从0开始的,y内存布局,不是从0开始的张量 For example: when yo ...
- 【转载】 __declspec(dllexport) 和__declspec(dllimport)
转自:http://www.cppblog.com/Dutyboy/archive/2010/11/15/133699.html __declspec(dllexport) __declspec( ...
- sendmail邮件服务器
安装sendmail之前 我们要先搭建一个DNS服务器用来解析邮件 下图是配置好的DNS正向解析记录和反向解析记录 正向 反向 DNS配置好之后我们就来安装sendmail服务 然后再安装sendma ...
- MSSQL 打开xp_cmdshell
sp_configure reconfigure go sp_configure reconfigure go
- css的div动态水平垂直居中
div动态水平垂直居中,思路如下: (1)先定位.如果相对于距离最近的父元素,用absolute:如果相对于body,用fixed. (2)然后,top和left都设为50%. (3)要居中的di ...
- JS高级---逆推继承看原型
逆推继承看原型 function F1(age) { this.age = age; } function F2(age) { this.age = age; } F2.prototype = new ...
- k8s集群问题记录
k8s集群问题记录 k8s学习方案 问题解决思路 主要学习路径: rancher(k8s)->rke->helm->kubectl->k8s(k8s中文api) 常见问题总结: ...