当前位置: 首页 > news >正文

建设网站公司怎么建站福州网站建站

建设网站公司怎么建站,福州网站建站,有限公司 wordpress,网络推广方案下拉管家微xiala11最近开始看Django框架#xff0c;对我来说时间一长必定会忘记#xff0c;所以还是做做笔记#xff01;学Django之前还看了点关于Web框架的原理什么的。。。杂七杂八#xff01;#xff01;#xff01;0x00 关于Web服务A. Web间的通信Web应用的本质就是一套socket服务器对我来说时间一长必定会忘记所以还是做做笔记学Django之前还看了点关于Web框架的原理什么的。。。杂七杂八0x00 关于Web服务A. Web间的通信Web应用的本质就是一套socket服务器而用户的浏览器就是socket客户端因而最基本的Web框架就是一套socket的代码。import socketsk socket.socket()sk.bind((127.0.0.1, 80))sk.listen()while True:conn, addr sk.accept()data conn.recv(8096)conn.send(bOK)conn.close()而这仅仅通过这一的代码浏览器依然无法打开这个简单的网页因为在浏览器与服务端进行通信的时候有一套HTTP协议简单的来说就是浏览器与服务器之间的通信必须按照一个标准的写法才可以完成通信。HTTP协议对收发消息都进行了格式的要求(HTTP GET请求)(HTTP Response)上面的代码无法打开网页最主要的原因就是没有回复HTTP请求。而一个请求为什么可以打开这个相应的网页呢在HTTP GET请求的请求行中就有URL字段正是通过该字段可以网站对指定网页的访问。其主要是通过获取URL字段相应的调用该字段的函数从而发送网页的源码到浏览器中浏览器通过渲染收到的代码后进行将网页渲染出来。因而总得来说Web框架的本质就是Socket之间的通信B. Socket服务端功能划分在Socket服务端主要有三件事情要做首先是响应HTTP请求并发送响应其次是根据URL字段的不同执行不同的函数从而返回相应的页面最后就是通过替换页面中的字符串从而实现动态网页(比如你访问某个页面上面可以显示今天的日期其实你明儿打开的还是同一个HTML文件仅仅是将日期处的字段替换为了今天的日期而已)。总体概况如下责与浏览器收发消息(socket通信) – wsgiref/uWsgi/gunicorn…根据用户访问不同的路径执行不同的函数从HTML读取出内容,并且完成字符串的替换 – jinja2(模板语言)C. 关于Web框架的分类Web框架主要完成的任务就是上面的几个功能而根据不同的Web实现的不同功能可以分为几个主流的框架类型。以Tornado框架为代表的框架则可以实现以上三个功能。以Django框架为代表的框架则可以后两个功能第一个功能则需要第三方模块实现。以Flask框架为代表的框架则仅仅实现了第二个功能第一和第三个功能则需要第三方模块来实现。0x01 初始DjangoA. Django框架的安装在Django官网中可以看到每个办法的支援时间看了下Django 1.11 LTS可以支援到明年所以我安装的就是Django 1.11.8。pip3 install django1.11.8安装好Django后可以在终端输入django-admin来测试看看是否安装成功。B. 创建一个Django项目—命令行方式django-admin startproject 项目名称—Pycharm方式File – New project – 左侧选Django – 右侧填项目路径,并且勾选python.exe之后在一个新窗口中打开。C. Django文件目录—文件结构创建出来的Django项目的文件结构入下图。默认创建出来没有那个static文件夹urls.py中主要存放着URL字段调用函数直接的关系。而函数又放在每个APP中的views.py中。settings.py中主要是存放一些Django的配置信息入安装的APP、连接数据库的信息。templates文件夹中主要是方HTML文件的文件夹。—关于settings.py刚学python对于settings.py有2个地方要注意。首先注释了settings.py中的’django.middleware.csrf.CsrfViewMiddleware’,这行代码暂时禁用了csrf中间件可以方便表单提交测试。其次这样你发送了HTML页面到浏览器中会发现javascript、css、图片等静态文件并没有没有发送过去因而需要将静态文件夹也发送过去。为了统一规范吧都建立一个叫做static的文件夹就是上图的那个文件夹了之后就要打开settings.py去配置静态文件的路径了。(设置静态文件的路径)在STATIC_URL下方静态文件夹的路径如果也加static的话那么可以拷贝下面的配置STATICFILES_DIRS [os.path.join(BASE_DIR, static)]之后在HTML中将静态文件的路径设置前面加上/static/入下图注意这里的static不是文件夹的static而是 STATIC_URL后面的static也就无论你的静态文件放在哪个文件夹里只要在STATICFILES_DIRS的列表中这里只用写static即可生效有点类似于静态文件的一个环境变量的总和吧D. 关于APP在Django中为了方便一个大的Django项目中的管理通过引出APP的概念来实现一个不同APP管理不同的业务。urls.py中调用调用函数的部分被调用的函数就放在APP中的views.py里了。创建APP在Django项目的根目录中输入以下命令即可创建APPpython manage.py startapp app名字创建完毕APP之后一定要到项目settings.py中进行APP的注册不然会有一堆莫名其妙的问题。其实可以只写app的名字即可不过还是推荐写全。0x02 第一个Django项目接下来以创建一个简易的图书馆里系统的部分环节为例子来讲述Django项目的编写。通过上面的内容已经设置好了STATICFILES_DIRS、创建了APP等。A 映射URLServer后端收到HTTP请求后提取出URL路径之后将跳转到APP中的views.py文件中去读取相应的函数。这个路径与函数之间的映射关系首先是在项目中的settings.py中设置。from django.conf.urls import urlfrom django.contrib import adminfrom app01 import viewsurlpatterns [url(r^admin/, admin.site.urls),url(r^publisher-list/, views.publisher_list),url(r^add-publisher/, views.add_publisher),url(r^edit-publisher/, views.edit_publisher),url(r^book-list/, views.book_list),url(r^add-book/, views.add_book),url(r^edit-book/, views.edit_book),]通过在urlpatterns列表中指定路径及映射函数即可。路径的指示支援正则表达式所以如果是要域名主页的还那么可以写r’^$’。B 编写视图Views进入对应的APP中的views.py中定义一个函数函数名字为之前url映射中的后半部分传入一个HttpRequest对象一般情况下默认写为request。忽略下面代码中的ORM部分from django.shortcuts import render, redirect, HttpResponsefrom app01 import models# Create your views here.def publisher_list(request):if request.GET:id request.GET.get(id, None)del_obj models.Publisher.objects.get(idid)del_obj.delete()ret models.Publisher.objects.all()return render(request, publisher_list.html, {publiser: ret})这样就创建出了一个最简单的Django项目了C Django三件套render HttpResponse redirect之前介绍了Web框架的本质其实就3点关于socket通信和URL映射之前都介绍了接下来就是给浏览器返回数据了。render、HttpResponse、redirect也是用的最多的三个方法因而江湖美其名曰“Django”三件套。a HttpResponse由于视图(理解为views.py中的函数吧!)必须返回一个 HttpResponse 对象给浏览器因而HttpResponse 方法就是最简单的直接传入字符串即可已经被封装的无需转化为bytes对象。b redirectredirect就是重定向了可以直接传入一个路径(如”/book-list/”)也可以直接传入一个网址。c renderrender最简单的方法就是直接返回一个渲染好的html页面return render(request,about.html)这样就可以返回了一个静态的页面给浏览器。如果要返回一个动态页面就需要在render函数中添加content参数了。具体的三件套的使用示例直接见下面的代码吧def edit_publisher(request):id request.GET.get(id, None)edit_obj models.Publisher.objects.get(idid)if request.method GET:if id:return render(request, edit-publisher.html, {publisher: edit_obj})else:return HttpResponse(无法选择要编辑的出版社)else:new_name request.POST.get(name, None)if new_name ! edit_obj.name:edit_obj.name new_nameedit_obj.save()return redirect(/publisher-list/)至于代码中的动态渲染页面还有ORM框架等系统学习之后在单独的写笔记吧
http://www.zqtcl.cn/news/339108/

相关文章:

  • 清廉企业建设骨科医院网站优化服务商
  • 公司网站建设开源平台网站建设推来客在哪里
  • 本地电脑静态网站建设半年工作总结
  • 潮州哪里做网站html in wordpress
  • 在浏览器上建设网站平面作品集展示图片
  • 建设网站的技术手段天津泰达建设集团网站
  • 怎样做读书会网站广州公司注册在线
  • 多个网站做计划响水哪家专业做网站
  • 中国建设基础设施总公司 网站怒江网站建设
  • 做电脑网站手机能显示不出来怎么办有友情链接的网站
  • 潘家园做网站的公司网络营销管理系统
  • 如何在各大平台推广博客网站seo
  • 网站地图那么建设国内哪个网站做水产比较大
  • 可以做图片视频的网站网站策划网
  • 在阿里云做的网站怎么移动南宁seo咨询
  • 电子商务网站开发课程设计论文温州市微网站制作电话
  • 常州住房和城乡建设部网站网站开发哪家公司口碑好
  • 网站备案 登录名巴中交通建设有限公司网站
  • 门户资源分享网站模板软件网站开发市场前景
  • 海南省住房和城乡建设厅官方网站列举五种常用的网站推广方法
  • aso优化服务平台东莞优化seo
  • 高唐做创建网站的公司网站开发费怎么做账
  • 域名有没有被注册哪个网站最好中企动力网站建设方案
  • 无锡网站制作计划我的世界寻找建筑网站
  • 烟台建设集团招聘信息网站青岛百度公司总部
  • php网站模板怎么用怎么做链接网站
  • 完整网站开发视频教程安丘营销型网站建设
  • 女与男爱做电影网站免费网站外包公司
  • 传统文化传播公司网站建设wordpress 插件开启
  • 哪些网站是做外贸生意的网站建设所需美工