Python后台开发Django的教程详解(启动)


Posted in Python onApril 08, 2019

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/

目录介绍

工程目录结构

Python后台开发Django的教程详解(启动)

无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中,设置静态文件存放位置

Python后台开发Django的教程详解(启动)

在模板HTML文件中使用

<link rel="stylesheet" href="static/dong.css" rel="external nofollow" >

数据获取相关

表单提交测试:

在setting.py中注释掉下面一句,即可通过表单添加【action="dong"】进行数据提交,如果不注释需参考CSR保护

Python后台开发Django的教程详解(启动)

获取访问数据

#控制台输出所有的请求信息
 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 相关文章推荐
Python实现的检测web服务器健康状况的小程序
Sep 17 Python
跟老齐学Python之数据类型总结
Sep 24 Python
Python中数字以及算数运算符的相关使用
Oct 12 Python
python 3.5下xadmin的使用及修复源码bug
May 10 Python
python面向对象_详谈类的继承与方法的重载
Jun 07 Python
Pandas中把dataframe转成array的方法
Apr 13 Python
对python pandas 画移动平均线的方法详解
Nov 28 Python
Python实现线性插值和三次样条插值的示例代码
Nov 13 Python
Python基本类型的连接组合和互相转换方式(13种)
Dec 16 Python
Tensorflow轻松实现XOR运算的方式
Feb 03 Python
Python实现自动访问网页的例子
Feb 21 Python
Python flask框架实现浏览器点击自定义跳转页面
Jun 04 Python
Python3利用print输出带颜色的彩色字体示例代码
Apr 08 #Python
Python定义函数功能与用法实例详解
Apr 08 #Python
详解Python中pandas的安装操作说明(傻瓜版)
Apr 08 #Python
Python下简易的单例模式详解
Apr 08 #Python
Python字符串的常见操作实例小结
Apr 08 #Python
Python面向对象程序设计多继承和多态用法示例
Apr 08 #Python
python仿抖音表白神器
Apr 08 #Python
You might like
扩展你的 PHP 之入门篇
2006/12/04 PHP
从性能方面考虑PHP下载远程文件的3种方法
2015/12/29 PHP
php抽奖概率算法(刮刮卡,大转盘)
2020/04/17 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
硬盘浏览程序,保存成网页格式便可使用
2006/12/03 Javascript
类之Prototype.js学习
2007/06/13 Javascript
ajax 缓存 问题 requestheader
2010/08/01 Javascript
StringTemplate遇见jQuery冲突的解决方法
2011/09/22 Javascript
用原生JavaScript实现jQuery的$.getJSON的解决方法
2013/05/03 Javascript
文本框中禁止非数字字符输入比如手机号码、邮编
2013/08/19 Javascript
动态添加option及createElement使用示例
2014/01/26 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
2014/09/01 Javascript
js的touch事件的实际引用
2014/10/13 Javascript
jquery实现textarea 高度自适应
2015/03/11 Javascript
JavaScript中的replace()方法使用详解
2015/06/06 Javascript
浅析jQuery 遍历函数,javascript中的each遍历
2016/05/25 Javascript
关于JavaScript限制字数的输入框的那些事
2016/08/14 Javascript
微信小程序加载更多 点击查看更多
2016/11/29 Javascript
JS实现数组去重方法总结(六种方法)
2017/07/14 Javascript
微信小程序websocket实现聊天功能
2020/03/30 Javascript
关于element-ui的隐藏组件el-scrollbar的使用
2019/05/29 Javascript
python简单获取本机计算机名和IP地址的方法
2015/06/03 Python
Python中join函数简单代码示例
2018/01/09 Python
对python-3-print重定向输出的几种方法总结
2018/05/11 Python
浅谈python中requests模块导入的问题
2018/05/18 Python
html5 自定义播放器核心代码
2013/12/20 HTML / CSS
TripAdvisor日本:全球领先的旅游网站
2019/02/14 全球购物
出生医学证明样本
2014/01/17 职场文书
简历上的自我评价怎么写
2014/01/28 职场文书
优秀毕业生的求职信
2014/07/21 职场文书
村干部群众路线教育活动对照检查材料
2014/10/01 职场文书
裁员通知
2015/04/25 职场文书
2015年财政局工作总结
2015/05/21 职场文书
十七岁的单车观后感
2015/06/12 职场文书
缅怀先烈主题班会
2015/08/14 职场文书
JS前端使用canvas实现物体的点选示例
2022/08/05 Javascript