Django基础必会
Django基础必会
Django项目目录
mysite
-mysite
-__init__.py
-urls.py(函数和函数的对应关系)
-settings.py(Django项目的配置信息)
-wsgi.py(收发socket消息相关)
-manage.py(命令行入口文件)
-Template(专门用来放HTML文件的)
必备三键套
from django.shortcuts import HttpResponse, render, redirect
HttpResponse作用,内部与传入一个字符串参数,返回给浏览器
def index(request): #内部必须有request
# 业务逻辑代码
return HttpResponse("OK")
render作用,接收一个待渲染的模块文件和一个保存具体数据的字典参数,将数据填充进模板文件,最后把结果返回给浏览器
render(request, 'index.html')
render(request, 'login.html', {'error_msg': error_msg})
例:
def login(request):
error_msg = ""
if request.method == "POST":
email = request.POST.get("email")
pwd = request.POST.get("pwd")
if email == "xyh@123.com" and pwd == "xyh123":
return redirect("/index/")
else:
error_msg = "邮箱或者密码错误,请重新输入"
return render(request, "login.html", {"error_msg": error_msg}) #html中有对应的格式,对其替换
redirect接受一个URL参数,重置向(跳转)到指定URL
def index(request):
# 业务逻辑代码
return redirect("/home/") #在同一个网站的不同地址跳转
return redirect("https://www.baidu.com") #跳转到具体的URL
实际样式
html文件相关文件配置
- html文件放在templates文件夹中,根据setting.py中的关联路径

静态文件配置
在setting.py文件底配置静态文件保存目录(css,JavaScript,Images都配置在静态文件中)
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.11/howto/static-files/ STATIC_URL = '/static/'
# 固定的配置项,告诉Django框架我的静态文件保存在哪些目录下
STATICFILE_DIRS =[
os.path.join(BASE_DIR, "static")
]

登陆示例
form表单提交数据的三个关键
- form标签必须要有action(提交到哪里)和method属性
- form标签中用户输入的标签中必须要有name属性
- form标签中必须要有submit提交按钮
- form标签必须要有action(提交到哪里)和method属性
对于输入框提交的值的获取
request.POST # 所有POST请求提交的数据(类似一个大字典)
request.POST["pwd"] #提取提交数据中的键为pwd对应的值
request.POST.get("pwd",None) #提取值,放置报错,推荐使用
Django app创建方法
为什么要有app
- 一个Django项目中可以以app为单位划分不同的功能。
1.创建Django项目时,在more setting中创建app文件,这样pyCharm会自动配置文件
2.直接在Django中Terminal中输入命令

python manage.py startapp app01 #app01为app名字
手动在setting.py中INSTALLED_APPS中加入app的信息
# Application definition
# 当前项目中存在的app
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 'app01',
'app01.apps.App01Config', # 告诉Django 我有一个自己的app叫app01
]

Python基础创建Django 项目步骤
1.在pycharm或者命名行创建一个Django项目
- django-admin startproject 项目名
2.创建一个初始的app,并且在setting.py中配置app文件的目录
- python manage.py startapp app名字
3.检查settings.py 专门存放html文件的templates配置项
4.配置静态文件相关
在项目的根目录中创建一个用来存放静态文件的static目录
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
5.在settings.py文件中将Csrf大概46行注释掉
- 否则表单没办法提交数据,会提示forbidden 403的错误
Django基础必会的更多相关文章
- Django基础必会套装
from django.shortcuts import HttpResponse, render, redirect 1. HttpResponse('OK') --> 把字符串的OK转成二进 ...
- Django基础(一)
Django基础(一) 知识预览 Django基本命令 二 路由配置系统(URLconf) 三 编写视图 四 Template 五 数据库与ORM admin的配置 一 什么是web框架? 框架,即f ...
- {Django基础九之中间件} 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证
Django基础九之中间件 本节目录 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证 六 xxx 七 xxx 八 xxx 一 前戏 我们在前面的课程中已经学会了 ...
- Django基础之MTV模型
一.Django基础 一.Django简介 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型(Model).视图(View)和控制器(Control ...
- day 63 Django基础九之中间件
Django基础九之中间件 本节目录 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证 六 xxx 七 xxx 八 xxx 一 前戏 我们在前面的课程中已经学 ...
- Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)
摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse.render.redirect) 一.Web框架概述: Python三大主流Web ...
- Django基础核心技术之Model模型的介绍与设计
Django基础核心技术之Model模型的介绍与设计原创: Yunbo Shi Python Web与Django开发 2018-05-03Django网络应用开发的5项基础核心技术包括模型(Mode ...
- Django基础之模型(models)层(上)
目录 Django基础之模型(models)层 单表查询 必知必会13条 神奇的双下划线查询 多表查询 外键的字段的增删改查 表与表之间的关联查询 基于双下划线的跨表查询(连表查询) 补充知识 Dja ...
- day 65 Django基础十一之认证系统
Django基础十一之认证系统 本节目录 一 auth模块 二 User对象 三 扩展默认的auth_user表 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 auth模块 我们 ...
随机推荐
- 简述redis集群的实现原理
在哨兵sentinel机制中,可以解决redis高可用问题,即当master故障后可以自动将slave提升为master,从而可以保证redis服务的正常使用,但是无法解决redis单机写入的瓶颈问题 ...
- desktopForWin安装
window环境下搭建appium(win7和win10都试过,能行),这里只说了Android自动化环境.iOS自动化需要MacOS支持. 一.python环境搭建 下载Python 官网下载地址h ...
- Linux实现MySQL数据库凌晨自动备份
Linux实现MySQL数据库凌晨自动备份 备份多数据库,每天凌晨两点执行,使用当前年月日作为文件夹,不存在该文件夹就创建,删除七天前备份过的文件. 定时调度使用crontab 1 login_use ...
- 37、python并发编程之协程
目录: 一 引子 二 协程介绍 三 Greenlet 四 Gevent介绍 五 Gevent之同步与异步 六 Gevent之应用举例一 七 Gevent之应用举例二 一 引子 本节的主题是基于单线程来 ...
- netty系列之:可以自动通知执行结果的Future,有见过吗?
目录 简介 JDK异步缘起 netty中的Executor Future的困境和netty的实现 总结 简介 在我的心中,JDK有两个经典版本,第一个就是现在大部分公司都在使用的JDK8,这个版本引入 ...
- suse 12 脚本部署docker(二进制文件)
suse-linux:~ # cat /etc/issue Welcome to SUSE Linux Enterprise Server 12 SP3 (x86_64) - Kernel \r (\ ...
- tip7:CentOS8虚拟机安装相关总结
使用工具:Win10家庭版.WM12Pro.CentOS8. 一.安装 之前使用虚拟机安装操作系统使用的都是OpenSuse,也有相关备份.但是在Win10家庭版上用不了,启动电脑蓝屏(可能某些硬件不 ...
- JwtAccessTokenConverter问题整理
Cannot convert access token to JSON 授权服务颁发token(未进行公私钥加密)后,携带此token请求资源服务,提示此错误. 使用token可以在线解析,跟踪代码后 ...
- curl常用参数详解及示例
curl简介 curl是一个开源的命令行工具,它基于网络协议,对指定URL进行网络传输,得到数据后不任何具体处理(如:html的渲染等),直接显示在"标准输出"(stdout)上. ...
- VBS病毒实验
实验目的 探讨VBS病毒实现原理,为更好的深入防御和查杀病毒 实验原理 VBS病毒发生机理 实验内容 编写简单VBS病毒,并实现功能,学习VBS病毒发生机理 实验环境描述 VPC1(虚拟PC) 操作系 ...




