小白必会三板斧

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表单操作的更多相关文章

  1. Django的form表单

    html的form表单 django中,前端如果要提交一些数据到views里面去,需要用到 html里面的form表单. 例如: # form2/urls.py from django.contrib ...

  2. 转载:Django之form表单

    转载: 一.使用form类创建一个表单 先定义好一个RegForm类: forms.py from django import forms # 导入forms类 class NameForm(form ...

  3. Django 11 form表单(状态保持session、form表单及注册实现)

    Django 11 form表单(状态保持session.form表单及注册实现) 一.状态保持 session 状态保持 #1.http协议是无状态的:每次请求都是一次新的请求,不会记得之前通信的状 ...

  4. Django--分页器(paginator)、Django的用户认证、Django的FORM表单

    分页器(paginator) >>> from django.core.paginator import Paginator >>> objects = ['joh ...

  5. Day19 Django之Form表单验证、CSRF、Cookie、Session和Model操作

    一.Form表单验证 用于做用户提交数据的验证1.自定义规则 a.自定义规则(类,字段名==html中的name值)b.数据提交-规则进行匹配代码如下: """day19 ...

  6. django中form表单的提交:

    一,关于表单: 表单在百度百科的解释:   表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法. 表单域 ...

  7. Django之form表单组件

    Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否 ...

  8. django之form表单验证

    django中的Form一般有两种功能: 输入html 验证用户输入 #!/usr/bin/env python # -*- coding:utf- -*- import re from django ...

  9. Django的form表单之文件上传

    在生成input标签的时候可以指定input标签的类型为file类型 <!DOCTYPE html> <html lang="en"> <head&g ...

随机推荐

  1. 菜得一P!

    什么时候才能改变粗心大意的坏毛病!太吃亏了...

  2. 欢迎来到L T X的博客 & 博客转型公告

    这里是L T X,一位来自重庆的学生的个人博客. 由于博主以前是OIer,目前博客里主要是OI相关的内容. 但是现在博主已经退役了,因此博客将会转向...嗯...那种...就是那种...比较奇怪的类型 ...

  3. [USACO08JAN] 手机网络 - 树形dp

    经典问题系列 覆盖半径\(1\)的最小点覆盖集 \(f[i][0]\) 表示不在此处建信号塔,但\(i\)及其子树都有信号 \(f[i][1]\) 表示在此处建信号塔,但\(i\)及其子树都有信号 \ ...

  4. BZOJ3932 CQOI2015 任务查询系统 - 主席树,离散化

    记录下自己写错的地方吧 1. 区间可能有重复 2. 没有出现的坐标也要计入version (因为询问里可能会有) #include <bits/stdc++.h> using namesp ...

  5. DOM操作节点对象集合

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  6. QuerySet的常用方法

    QuerySet常用方法 使用 connection.queries 可以查看sql语句 filter 将满足条件的结果返回,返回值为QuerySet对象 exclude 将满足条件的结果过滤掉,返回 ...

  7. ssm开发垃圾分类查询系统 源码 mysql

    需求 基于SSM实现一个垃圾分类查询管理系统, 用户可以根据自定义查询分类信息, 管理员可以对分类信息, 垃圾详情信息进行增删改查的管理 运行环境 jdk1.8,tomcat8.5,mysql5.6, ...

  8. HTML文本域标签

    textarea文本域 cols指定列数 rows行数(不够用会自动扩容)

  9. 快速ni

    代码: while(p>0)                   (mul(a,b)) = a*b; { 等同于二分 if(p%2==1) mul(ans,a); 目的是为了二分个基数的二次方乘 ...

  10. ASPxDashboardViewer_OnDashboardLoaded 修改Item参数

    protected void ASPxDashboardViewer_OnDashboardLoaded(object sender, DashboardLoadedWebEventArgs e) { ...