静态文件配置

1. 什么是静态文件
css
js
img
...
2. 静态文件的存储位置
'''
我们在创建Django项目的时候,没有生成static目录,我们会把静态文件存储在static目录下,需要我们手动创建static文件夹,不管你是通过cmd还是pycharm,都要手动创建,在项目根目录下创建。
''' 3. static目录创建出来之后,我们还可以根据功能进行划分目录
static
css
js
img
...
4. 配置文件配路径
# 配置文件的路径
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
5. 动态引入
{% load static %}
<link rel="stylesheet" href="{% static 'css/bootstrap.min.css' %}">
<script src="{% static 'js/jquery.min.js' %}"></script>
<script src="{% static 'js/bootstrap.min.js' %}"></script>

form表单实现登录功能

<form action="" method="post">
1. 什么都不写:当前地址提交
2. 写全:
3. 写后缀:/login/ # 使用form表单提交post请求的时候,暂时先去配置文件注释如下代码
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
] print(request.method, type(request.method)) # GET <class 'str'> if request.method == 'POST':
# 如果条件成立,则说明是post请求
# 2. 如何接收post请求的数据
# <QueryDict: {'username': [''], 'password': [''], 'hobby': ['1', '2', '3']}>
print(request.POST) # <QueryDict: {'username': ['ly'], 'password': ['123']}>
print(request.POST.get('username')) # <QueryDict: {'username': ['ly'], 'password': ['123']}>
print(request.POST.get('password')) # <QueryDict: {'username': ['ly'], 'password': ['123']}>
# get只取列表中的最后一个值
print(request.POST.get('hobby')) # <QueryDict: {'username': ['ly'], 'password': ['123']}>
print(request.POST.getlist('hobby')) # <QueryDict: {'username': ['ly'], 'password': ['123']}> # 获取get请求的数据
request.GET # 字典格式
request.GET.get('username')
request.GET.getlist('hobby')

django连接MySQL

# django默认的连接MySQL的模块是mysqldb,这个模块我们没装,另外,该模块兼容性不够好,所以,我们不使用这个模块

我们自己手动修改mysqldb模块为pymysql
1. 安装pymysql
pip3 install pymysql 2.在配置文件中设置为mysql
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'db2',
'USER':'root',
'PASSWORD':'root',
'HOST':'127.0.0.1',
'PORT':3306,
'CHARSET':'utf8' 3. 如何使用
在任意的应用下的__init__.py文件中,加入如下代码进行更改
"""
import pymysql
pymysql.install_as_MySQLdb()
""" 3. 是在python36以下才加以上两句代码,
4. 还有一个类似的模块:mysqlclient
# 如果使用mysqlclient模块,不管是python的哪个版本,都不需要在加以上两句代码,但是呢,这个模块刚出没多久,最大的问题是,这个模块很难装上。

Django操作ORM

1. 什么是ORM?
# 关系映射对象
orm不但在python中有,其他语言中也有
2. 特点:
# 在操作数据库的时候,不需要在写原生SQL语句了。
select * from table #
3. ORM的书写位置
在应用下的models.py中
4. 如何使用?
'''在使用orm的时候,必须先创建好库'''
表名 >>> 类名
记录 >>> 对象
字段 >>> 类属性
5. 如何创建一张表?
from django.db import models # Create your models here.
'''在写ORM的时候,类一定要继承models.Model'''
class UserInfo(models.Model):
# id int primary key auto_increment
id = models.AutoField(primary_key=True) # 对象 # username varchar(32)
# username char(32) username = models.CharField(max_length=32)
password = models.CharField(max_length=32) 6. 一定要执行迁移数据库
# 执行下面两行代码来生成数据表
'''
python3 manage.py makemigrations # 只是生成迁移记录
python3 manage.py migrate # 才是真正的生成数据
'''

django静态文件,form表单提交数据,连接mysql,操作ORM的更多相关文章

  1. thinkPHP5.0使用form表单提交数据和删除文章,不用TP的提示页面,使用弹出提示信息

    form表单提交数据和删除文章时,TP的默认信息提示页面的看起来不是很好看,想要实现弹窗提示怎么做呢? 前端:可以使用前端的一个知识--iframe,iframe元素会创建包含另外一个文档的内联框架: ...

  2. js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题

    js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题 js模拟form表单提交数据源码: /** * js模拟form表单提交 * @param ...

  3. springboot框架中集成thymeleaf引擎,使用form表单提交数据,debug结果后台获取不到数据

    springboot框架中集成thymeleaf引擎,使用form表单提交数据,debug结果后台获取不到数据 表单html: <form class="form-horizontal ...

  4. form表单提交数据的数据格式

    form表单提交的数据格式默认是 enctype="application/x-www-form-urlencoded"这样将input框的数据与input框的name属性以键值对 ...

  5. Form表单提交数据的几种方式

    一.submit提交 在form标签中添加Action(提交的地址)和method(post),且有一个submit按钮(<input type='submit'>)就可以进行数据的提交, ...

  6. form表单提交数据给后台

    1.完整登录示例 1. form表单往后端提交数据注意三点 1.所有获取用户输入标签都应该放在form表单里面 2.action属性控制往哪儿提交,method一般都是设置成post 3.提交按钮必须 ...

  7. 关于AJAX与form表单提交数据的格式

    一 form表单传输文件的格式: 只有三种: multipart/form-data 一般用于传输文件,图片文件或者其他的. 那么其中我们默认的是application/x-www-form-urle ...

  8. 关于form表单提交数据后不跳转页面+ajax接收返回值的处理

    1.前台的form表单建立,注意action.enctype的内容, 2.通过添加一个隐藏的iframe标签使form的target指向iframe来达到不跳转页面的效果,同时需要在js里获取ifra ...

  9. iframe+form表单提交数据

    <h6>基于iframe+Form表单</h6> <iframe id="iframe" name="ifra" onclick= ...

  10. 获取html 中的内容 将前台的数据获取到后台 用 jquery 生成一个 form表单 提交数据

    使用js创建一个form表单 ,使用post上传到后台中 下面是代码.在获取html内容的时候使用了js节点来获取内容. parent:父节点.上一级的节点 siblings:兄弟节点.同一级别的节点 ...

随机推荐

  1. Github的.gitignore忽略文件

    Git中有一个非常重要的一个文件-----.gitignore 1.当然如果已经push了怎么办?当然也有解决方法,如下: 有时候在项目开发过程中,突然心血来潮想把某些目录或文件加入忽略规则,按照上述 ...

  2. 浅谈tcp 与udp

    tcp是一种面向连接的.可靠的.基于字节流的传输层通信协议.是专门为了在不可靠的互联网络上提供一个可靠的端到端字节流而设计的,面向字节流. udp(用户数据报协议)是iso参考模型中一种无连接的传输层 ...

  3. vscode 部分替换(正则替换)

    1. 数字 \d{n} 2. 数字和字母 [A-Za-z0-9]{n} 常用运算符与表达式 ^ 开始 () 域段 [] 包含,默认是一个字符长度 [^] 不包含,默认是一个字符长度 {n,m} 匹配长 ...

  4. ue4 启动顺序

    GameMode PlayerController Actor Level https://www.cnblogs.com/fjz13/p/6133795.html

  5. iis 无法在Web服务器上启动调试。打开的URL的IIS辅助进程当前没有运行

    今天开发又遇到老问题了,记录一下. 最近换了电脑 win10+vs 2010+oracle11g 客户端. IIS 发布的项目,开始是 把localhost 换成ip地址 总是报 iis 无法在Web ...

  6. mysql5.7主从多线程同步

    数据库复制的主要性能问题就是数据延时 为了优化复制性能,Mysql 5.6 引入了 "多线程复制" 这个新功能 但 5.6 中的每个线程只能处理一个数据库,所以如果只有一个数据库, ...

  7. 记一次ajax文件上传

    一个新需求提交页面. 在页面提交的时候,使用的是,先上传文件再上传表单 在这里需要返回表单存储的文件地址,需要上传.所以.在上传文件之后会返回存储的地址. 这里犯的一个错误: 往input 的type ...

  8. .NET CORE 下收发邮件之 MAILKIT

    背景 利用代码发送邮件在工作中还是比较常见的,相信大家都用过SmtpClient来处理发送邮件的操作,不过这个类以及被标记已过时,所以介绍一个微软推荐的库MailKit来处理. MailKit开源地址 ...

  9. vc++生成随机数

    在VC++提供的函数为rand(),返回一个0至65535之间的随机数,若想产生0至MAX_NUM之间的随机数,可用rand()%MAX_NUM,即产生小于MAX_NUM的随机数 for (int i ...

  10. jmeter在Linux上的安装及压力机配置

    1.jmeter安装 (1)与控制机相同版本的java环境.安装包及插件: (2)关闭控制机上的防火墙: (3)保证机器在同一个局域网中(能ping通): (4)解压安装包,设置JMETER_HOME ...