Python后台开发Django(启动)
Django版本为:2.1.7
Python的web框架,MTV思想
MVC
Model(模板文件,数据库操作) view(视图模板文件 )controller(业务处理)
MTV
Model(模板文件,数据库操作) template(视图模板文件) view(业务处理)
安装及访问
安装
pip3 install django
创建目录
如win:在需要创建目录的文件夹按住shift+鼠标右键打开命令行,创建dongjg工程目录
C:\Users\东东\AppData\Local\Programs\Python\Python37\Scripts\django-admin.exe startproject dongjg
开启服务
其中manage.py需对应工程目录
如果网站需要外部访问还需在工程目录的settings.py文件中设置【ALLOWED_HOSTS = ["*"]】
python manage.py runserver 0.0.0.0:8000
访问测试
http://127.0.0.1:8000/
目录介绍
工程目录结构

无APP的测试页面
在urls.py中添加简单的测试页面
访问:http://127.0.0.1:8000/dong
from django.contrib import admin
from django.urls import path
#新建处理方法
from django.shortcuts import HttpResponse
def homex(requestx):
return HttpResponse("东小东【dongxiaodong】") urlpatterns = [
path('admin/', admin.site.urls),
path("dong",homex),#添加URL对应关系
]
创建APP及基本操作
可以实现多个模块效果,如后台管理、用户登入等
python manage.py startapp dongapp2
APP的目录结构
migrations文件夹 #数据库操作记录(表结构修改记录)
admin.py #Django的后台管理页
models.py #创建数据库结构
apps.py #当前app的配置文件
views.py #业务代码
tests.py #单元测试
路由对应方法(FBV):
在dongapp2/ views.py
from django.shortcuts import HttpResponse
def homex(requestx):
return HttpResponse("东小东【dongxiaodong】")
在urls.py
from django.contrib import admin
from django.urls import path
from dongapp2 import views
urlpatterns = [
path('admin/', admin.site.urls),
path("dong",views.homex),#添加URL对应关系
]
路由对应类(CBV)
在dongapp2/ views.py
from django.views import View
from django.shortcuts import HttpResponse
from django.shortcuts import render #导入
class DongClass(View):
def get(self,requestx):#当请求为get时进入
#return HttpResponse(requestx.GET.get("gdax","无数据"))
return render(requestx, "loginx.html", {"dongx": 12}) # 返回文件
def post(self,requestx):#当请求为POST时进入
return HttpResponse(requestx.POST.get("user","无数据"))
在urls.py
path("cdong",views.DongClass.as_view()),
静态文件(static)
存放一些css样式、图片、js代码等
外部访问访问:http://127.0.0.1:8000/static/img/an.png
在setting.py中,设置静态文件存放位置

在模板HTML文件中使用
<link rel="stylesheet" href="static/dong.css">
数据获取相关
表单提交测试:
在setting.py中注释掉下面一句,即可通过表单添加【action="dong"】进行数据提交,如果不注释需参考CSR保护

获取访问数据
#控制台输出所有的请求信息
for k,v in requestx.environ.items():
print(k,"----->",v)
print("你的设备基本信息:",requestx.environ.get("HTTP_USER_AGENT","w"))
print("你的IP地址:",requestx.environ.get("REMOTE_ADDR","w"))
xx=requestx.path_info #获取url,如http://127.0.0.1:8000/x1/x2/xxxxcd3,输出:/x1/x2/xxxxcd3
methodx = requestx.method #得到访问方式,输出:GET POST
#userx1=requestx.POST["user"] #获取POST值,如果name不存在会报错
userx2=requestx.POST.get("user","xxx") #获取POST值,如果不存在则输出xxx
响应头设置
# 本地页面跳转
from django.shortcuts import redirect # 导入
retx = redirect("dong/")
# 返回文件,并匹配值
from django.shortcuts import render #导入
retx= render(requestx, "loginx.html",{"dongkk1":"替换值1","dongkk2":"替换值2"})
#返回字符串
from django.shortcuts import HttpResponse
retx=HttpResponse("东小东【dongxiaodong】")
#设置响应头
retx["tttt"]="tttvvvvv"
return retx
复选框测试:
获取数据,获取数据到一个列表中
listx=requestx.POST.getlist("boxd")
复选框
<input type="checkbox" name="boxd" value="1xx" >选项1
<input type="checkbox" name="boxd" value="xx2" >选项2
……..
文件上传
fileobjx=requestx.FILES.get("dongfile")#得到文件对象
filenamex=fileobjx.name#得到文件名
filesize=fileobjx.size#文件大小
f=open("static/img/"+filenamex,"wb")#创建新文件保存数据
for datax in fileobjx.chunks():#接收数据,可以不用写.chunks(),默认会调用
f.write(datax)
f.close()
Python后台开发Django(启动)的更多相关文章
- Python后台开发Django(数据库)
如果使用pymysql,则可以在view中直接import pymysql进行操作,与原操作无区别 Django数据库框架支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在s ...
- Python后台开发Django( 模板 与 值匹配 )
模板文件(templates) 在setting.py中,设置模板存放位置 在APP中view的使用 from django.shortcuts import render #导入 def homex ...
- Python后台开发Django(会话控制)
页面跳转 页面跳转的url中必须在最后会自动添加[\],所以在urls.py的路由表中需要对应添加[\] from django.shortcuts import redirect #导入 retur ...
- python web开发——django学习(一)第一个连接mysql数据库django网站运行成功
1.新建一个项目 2.新建一些文件夹方便管理 3.新建一个项目叫message 4.连接数据库 python web开发Django连接mysql 5.在数据库里自动生成django的表 6.运行 ...
- Python Web开发:Django+BootStrap实现简单的博客项目
创建blog的项目结构 关于如何创建一个Django项目,请查看[Python Web开发:使用Django框架创建HolleWorld项目] 创建blog的数据模型 创建一个文章类 所有开发都是数据 ...
- Python自动化开发 - Django基础
本节内容 一.什么是web框架 二.MVC和MTV视图 三.Django基本命令 四.路由配置系统 五.编写视图 六.Template 七.ORM 一.什么是web框架 对于所有的web应用,本质上其 ...
- Python自动化开发 - Django【进阶篇】
Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行 ...
- python后台架构Django教程——manage.py命令
一.manage.py命令选项 manage.py是每个Django项目中自动生成的一个用于管理项目的脚本文件,需要通过python命令执行.manage.py接受的是Django提供的内置命令. 内 ...
- Python自动化开发 - Django【基础篇】
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为: 大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能 ...
随机推荐
- Android 进阶 教你打造 Android 中的 IOC 框架 【ViewInject】 (下)
上一篇博客我们已经带大家简单的吹了一下IoC,实现了Activity中View的布局以及控件的注入,如果你不了解,请参考:Android 进阶 教你打造 Android 中的 IOC 框架 [View ...
- Android 实现个性的ViewPager切换动画 实战PageTransformer(兼容Android3.0以下)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/40411921,本文出自:[张鸿洋的博客] 1.概述 之前写过一篇博文:Andro ...
- golang 1.8 优雅关闭
// main.go package main import ( "fmt" "log" "net/http" "os" ...
- PoiDemo【Android将表单数据生成Word文档的方案之二(基于Poi4.0.0)】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 使用Poi实现android中根据模板文件生成Word文档的功能.这里的模板文件是doc文件.如果模板文件是docx文件的话,请阅读 ...
- Linux安装任意版本的dotnet环境
下载地址 https://www.microsoft.com/net/download/dotnet-core/2.1 安装符合服务器CPU架构的二进制包. 如果架构不对,会出现一下错误: -bash ...
- 【工具篇】Selenium 学习实践(一)环境搭建
一.环境搭建 (1)初学者最佳环境: Python 2.7 + Selenium 2+ Firefox 46 (2)喜欢尝新的环境: Python 3.6 + Selenium 3+ Firefox ...
- 微服务架构 - CentOS7离线部署docker
1.环境准备 系统环境为: CentOS Linux release 7.5.1804 (Core) 安装docker版本为: 17.12.0-ce 2.准备部署文件 在http://mirrors. ...
- redis的bigkey扫描脚本
众所周知,redis里面的大key存在是非常危险的一件事情.因为最近的工作转移到中间件相关的工作,因此关注了一下bigkey的扫描方法.首先介绍一下阿里云提供的扫描脚本: 具体可见:https://y ...
- 前端笔记之NodeJS(四)MongoDB数据库&Mongoose&自制接口&MVC架构思想|实战
一.MongoDB数据库 1.1 NoSQL简介 随着互联网web2.0网站的兴起,传统的SQL数据库(关系数据库)在应付web2.0网站,特别是超大规模和高并发的SNS(social network ...
- ORM 开发环境之利器:MVC 中间件 FreeSql.AdminLTE
前言 这是一篇纯技术干货的分享文章,FreeSql 已经基本完成 .NETCore 最方便的 ORM 使命,我们正在筹备生态的建立,比如 ABP 中如何使用 FreeSql 的实现,需要各种各样的扩展 ...