栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Django

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django

实训的时候就想着学一下python web开发,一直到上周才过了一遍基础知识,对python基础学习之后,还有很多进阶的地方没有去学习,只有在实战中一边学习新的技术,一边去练习基础知识吧,就和李老师说的一样,把基础教程当做字典去查,而不是一个字的去背他。
简单介绍一下Django ,Django是python web 开发的框架,用于web开发的工作,与Java中的 spring框架类似,安装环境与部署,这里就不说了,开始我们的第一个实例的部署吧。

一 MVT 开发模式

Django 根据MTV开发模来进行开发,我们可能听说过Java开发的 MVC 模式,具体流程是类似的,语言只是一个媒介,就和英语中的 cat 和我们说的‘猫’是一个意思的,语言不同,所做的事情确实一样的。

  • M:models 模型 (主要是处理数据库的工作,组织和存储数据的方法和模式)
  • T:Templates 模板 (主要是负责网页界面,用于定义表现风格)
  • V:Views 视图(负责前后端的交互,针对请求选取数据的功能)
    开发模式示意图

    MTV开发模式我们会在以后的学习中逐渐加深对他的认识。
实例一 云端留言板的开发 创建项目工程

首先在你的工作目录内创建一个项目工程,可以使用Django自带的创建命令:

Django-admin startproject clounds

创建完成之后,你可以在pycharm 中看见一下工程目录:

目录中的各项解释:

目录中_int_.py 与 wsgi.py 是不需要我们进行修改配置的,settings.py属于设置文件,可以配置模板地址等。urls.py是路由文件。

创建一个APP

APP 是工程下的一个具体应用,就好比淘宝网中的商品排行界面,或者登陆界面就是两个APP
可以使用以下命令创建

python manage.py startapp mgasapp 

目录结构:

这里可以看到新创建的APP中与工程目录有很多相似的地方,我们目前需要注意的只有 templates、urls.py views.py ,分别控制模板,本地路由,以及交互的内容。
明白每个目录基本的功能就开始进行实例的开发了。
开发步骤:

  1. 创建工程
  2. 创建APP
  3. 设置前端模板代码
  4. 设置路由(本地路由以及全局路由)
  5. 编写交互代码
    第一步与第二,我们前面已经讲解了,我们从模板开始。
    首先在APP目录下新建目录templates,用来放前端代码 m.html:



    
    云端留言板(1)首页


    

提交留言功能

{% csrf_token %} 发送方
接收方
消息文

获取留言功能

接收方

{% for line in data %} {% endfor %}
留言时间 留言来源 留言信息
{{ line.time }} {{ line.userA }} {{ line.msg }}


2,设置路由
路由需要设置本地路由和全局路由,本地路由是在APP目录下新建一个 urls.py的文件,用来联系交互界面,将views界面编写的函数调用到网页中。

from django.urls import path
from . import views
urlpatterns = [
    path('', views.msgproc),
 ]

全局路由设置界面

"""
from django.contrib import admin
from django.urls import include, path



urlpatterns = [
    path('admin/', admin.site.urls),
    path('msggate/', include('mgsapp.urls'))
]

3.编写交互界面
交互界面使用python,用来连接前端与数据库,是我认为最重要的一部分:

from django.shortcuts import render
from datetime import datetime
# Create your views here.
def msgproc (request):
    datalist=[]
    if(request.method=="POST"):
 userA=request.POST.get("userA",None)
 userB=request.POST.get("userB",None)
 msg=request.POST.get("msg",None)
 time=datetime.now()
 with open('msgdata.txt','a+') as f:
     f.write("{}--{}--{}--{}--n".format(userB,userA,msg,time.strftime("%Y-%m-%d %H:%M:%S")))

    if(request.method=="GET"):
 userC=request.GET.get("userC",None)
 if(userC!=None):
     with open('msgdata.txt','r') as f:
  cnt=0
  for line in f:
      linedata=line.split('--')
      if(linedata[0]==userC):
   d={"userA":linedata[1],"msg":linedata[2],"time":linedata[3]}
   datalist.append(d)
      if(cnt>=10):
   break
    return render(request,"m.html",{"data":datalist})  ##render函数第三个参数是字典类型,表明向html页面中特定变量赋值

到这里基本的留言板功能机已经实现了,主要是熟悉一下,Django开发的流程,与其基本方法,现在用的开发工具变成了pycharm,本来我一般使用vscode做python的,但是他最web开发不如这个方面,所以就暂时用这个大胖子软件吧。

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号