精华内容
下载资源
问答
  • web编程怎么学python
    千次阅读
    2022-01-14 14:26:01

    Python是一种高度通用且功能强大的编程语言,其特质使其非常受欢迎。实际上,Python被用于无数项目,并且被认为在AI和ML应用程序开发中发挥了重要作用。

    鉴于Python的原始功能和功能,大多数人选择Python作为后端开发语言。但是,如果知道如何编码,其实Python也能用于前端开发,下面介绍一些Python用于前端开发的工具。

    1)PyQt

    PyQt是可用于GUI开发的Python边界工具包。这是一个非常全面的库,其中包含许多用于创建UX的工具和小部件。您可以使用诸如按钮,标签,进度条和对话框之类的元素。它还具有XML解析器和SVG支持。

    2)KIVY

    Kivy是用于增强用户体验的GUI Python库。这是一个开放源代码框架,开发人员可以使用它来开发多点触控应用程序。该库是跨平台的,开发人员可以在Windows,iOS,Android和Linux上使用它。

    3) wxPython

    这是用于Python开发的跨平台GUI库。它具有广泛的工具包,通过此框架创建的程序功能强大且功能强大。wxPython是开源的,并与wxwidgets一起使用Python代码。

    4)PyGUI

    这是专门为Python设计的图形界面API。该库在Mac,Windows和Linux中可用。创建者在开发过程中考虑了Python语言功能和数据类型。

    5)PYFORMS

    这是一个跨环境的Python框架,可用于在桌面,终端和Web上进行应用程序开发。这是一个模块化框架,默认情况下使GUI代码保持活动状态。它允许Python API无需修改就可以重用桌面和Web界面上的代码,从而有助于提高生产力。

    更多相关内容
  • Python Web 编程

    千次阅读 2020-09-10 21:29:48
    作者:billy 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

    作者:billy
    版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

    Web 基础

    1. HTTP 协议
      我们平时都会通过百度查询内容,在这个过程中,用户浏览器被称为客户端,而百度网站被称为服务器。这个过程实质上就是客户端向服务器发起请求,服务器接收请求后,将处理后的信息(也成为响应)传给客户端。这个过程就是通过 HTTP 协议实现的。
      HTTP(HyperText Transfer Protocol)超文本传输协议,是互联网上应用最为广泛的一种网络协议。HTTP 是利用 TCP 在两台计算机(通常是 Web 服务器和客户端)之间传输信息的协议。客户端使用 Web 浏览器发起 HTTP 请求给 Web 服务器,Web 服务器发送被请求的信息给客户端

    2. Web 服务器
      当在浏览器输入 URL 后,浏览器会先请求 DNS 服务器,获得请求站点的 IP 地址(即根据 URL 地址 www.baidu.com 获取其对应的 IP 地址,如 104.193.88.123),然后发送一个 HTTP Request(请求)给拥有该 IP 的主机(百度的服务器在美国芝加哥),接着就会接收到服务器返回的 HTTP Response(响应),浏览器经过渲染后,以一种较好的效果呈现给用户。

    我们重点来看一下 Web 服务器,Web 服务器的工作原理可以概括为以下 4 个步骤:

    • 建立连接:客户端通过 TCP/IP 协议建立到服务器的 TCP 连接;
    • 请求过程:客户端向服务器发送 HTTP 协议请求包,请求服务器里的资源文档;
    • 应答过程:服务器向客户端发送 HTTP 协议答应包,如果请求的资源包含有动态语言的内容,那么服务器会调用动态语言的解释引擎负责处理 “动态内容”,并将处理后得到的数据返回给客户端。有客户端解释 HTML 文档,在客户端屏幕上渲染图形结果;
    • 关闭连接:客户端与服务器断开连接;

    HTTP 协议的常用请求方法:

    方法描述
    GET请求指定的页面信息,并返回实体主体
    POST向指定资源提交数据进行处理请求(例如提交表单或者上传文件),数据被包含在请求体中
    HEAD类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头
    PUT从客户端向服务器传送的数据取代指定的文档的内容
    DELETE请求服务器删除指定的页面
    OPTIONS允许客户端查看服务器的性能

    HTTP 状态码含义:

    代码含义
    1**信息,请求收到,继续处理
    2**成功,行为被成功地接收、理解和采纳
    3**重定向,为了完成请求,必须进一步执行的动作
    4**客户端错误,请求包含语法错误或者请求无法实现
    5**服务器错误,服务器不能实现一种明显无效的请求

    具体每一项代表的含义,可以参考:HTTP状态码详解

    1. 前端基础
      对于 Web 开发,通常分为前端(Front-End)和后端(Back-End)。“前端” 是与用户直接交互的部分,包括 Web 页面的结构、Web 的外观视觉表现以及 Web 层面的交互实现。“后端” 更多的是与数据库进行交互,处理相应的业务逻辑。需要考虑的是如何实现功能、数据的存取、平台的稳定性与性能等。后端的编程语言包括 Python、Java、PHP、ASP.NET 等,而前端编程语言包括 HTML、CSS 和 JavaScript。

    HTML 是用来描述网页的一种语言。HTML 指的是超文本标记语言(Hyper Text Markup Language),它不是一种编程语言,而是一种标记语言。标记语言是一套标记标签,这种标记标签通常被称为 HTML 标签,它们是由尖括号包围的关键词,比如 。HTML 标签通常是成对出现的,第一个标签是开始标签,第二个标签是结束标签。Web 浏览器的作用是读取 HTML 文档,并以网页的形式显示它们。浏览器不会显示 HTML 标签,而是使用标签来解释页面的内容。

    CSS 是 Cascading Style Sheets(层叠样式表)的缩写。CSS 是一种标记语言,用于为 HTML 文档中定义布局。例如,CSS 涉及字体、颜色、边距、高度、宽度、背景图像、高级定位等方面。运用 CSS 样式可以让页面变的美观,就像爱那个化妆前和化妆后的效果一样。

    JavaScript 是一种可以嵌入在 HTML 代码中,由客户端浏览器运行的脚本语言。在网页中使用 JavaScript 代码,不仅可以实现网页特效,还可以响应用户请求,实现动态交互的功能。例如,在用户注册页面中,需要对用户输入信息的合法性进行验证,包括是否填写了 “邮箱” 和 “手机号”,填写的格式是否正确等。

    作为 Python Web 初学者,只要掌握基本的前端知识即可。想了解更多关于前端的内容,可以参考以下两个网站:

    静态服务器

    对于 Web 开发,我们需要让用户在浏览器中看到完整的 Web 页面(也就是 HTML),在 Web 中,纯粹的 HTML 格式的页面通常被称为 “静态页面”,早期的网站通常都是由静态页面组成的。例如马云早期的创业项目 “中国黄页” 网站就是由静态页面组成的静态网站。下面通过实例结合 Python 网络编程和 Web 编程,创建一个静态服务器

    1. 创建 views 文件夹,在 views 文件夹下创建 index.html 页面作为首页,index.html 的代码如下:
    <!DOCTYPE html>
    <html lang="UTF-8">
    <head>
        <title>
            我的博客
        </title>>
    </head>>
    <body class="bs-docs-home">
    
    <!--Docs master nav-->
    <header class="navbar navbar-static-top bs-docs-nav" id="top">
    <div class="container">
        <div class="navbar-header">
            <a href="/" class="navbar-brand">我的博客</a>>
        </div>
        <nav id="bs-navbar" class="collapse navbar-collapse">
            <ul class="nav navbar-nav">
                <li>
                    <a href="https://blog.csdn.net/qq_34139994/article/details/107725117">Python 进阶之路</a>
                </li>
                <li>
                    <a href="https://blog.csdn.net/qq_34139994/article/details/97393033">Qt 进阶之路</a>
                </li>
                <li>
                    <a href="https://blog.csdn.net/qq_34139994/article/details/104144719">我的网址收藏</a>
                </li>
                <li>
                    <a href="https://blog.csdn.net/qq_34139994/article/details/93847054">设计模式</a>
                </li>
                <li>
                    <a href="https://blog.csdn.net/qq_34139994/article/details/105390364">请善待90后</a>
                </li>
                <li>
                    <a href="/contact.html">联系博主</a>
                </li>
            </ul>
        </nav>
    </div>
    </header>>
    
    <!--Page content of coursel-->
    <main class="bs-docs-masthead" id="content" tabindex="-1">
        <div class="container">
            <span class="bs-docs-booticon bs-docs-booticon-lg bs-docs-booticon-outline">自我介绍</span>
            <p class="lead">博主主要从事于客户端、嵌入式、移动端的开发工作,酷爱研发,热于分享!</p>
            <p class="lead">
                <a href="/contact.html" class="btn btn-outline-inverse btn-lg">联系博主</a>
            </p>
        </div>
    </main>
    </body>>
    </html>>
    
    1. 在 views 文件夹下创建 contact.html 文件,作为跳转页面,contact.html 的代码如下:
    <!DOCTYPE html>
    <html lang="UTF-8">
    <head>
        <title>
            我的博客
        </title>>
    </head>>
    <body class="bs-docs-home">
    
    <!--Docs master nav-->
    <header class="navbar navbar-static-top bs-docs-nav" id="top">
        <div class="bs-docs-header" id="content" tabindex="-1">
            <br class="container">
            <h1>联系博主</h1>
            <div class="lead">
                <address>
                    <br>电子邮件: <strong>123456789@qq.com</strong></br>
                    <br>地址: 上海市嘉定区安亭镇紫金大别墅区36号</br>
                    <br>邮政编码: 201711</br>
                    <br><abbr title="Phone">联系电话: </abbr>021-12345678
                </address>
            </div>
        </div>
    </header>
    
    1. 在 views 同级目录下创建 web_server.py 文件,用于实现客户端和服务器的 http 通信,具体代码如下:
    import socket
    import re
    from multiprocessing import Process
    
    # 设置静态文件根目录
    HTML_ROOT_DIR = "./views"    
    
    class HTTPServer(object):
        def __init__(self):
            # 创建 Socket 对象
            self.server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  
    
        def start(self):
            # 设置最多连接数
            self.server_socket.listen(128)  
            print("服务器等待客户端连接...")
    
            # 执行死循环
            while True:
                # 建立客户端连接
                client_socket, client_address = self.server_socket.accept() 
                print("[%s, %s]用户连接上了" % client_address)
    
                # 实例化进程类
                handle_client_process = Process(target=self.handle_client, args=(client_socket,))
                handle_client_process.start()
                client_socket.close()
    
        # 处理客户端请求
        def handle_client(self, client_socket):
            # 获取客户端请求数据
            request_data = client_socket.recv(1024) 
            print("request data: ", request_data)
            # 按照行 ('\r', '\r\n', '\n') 分隔
            requset_lines = request_data.splitlines()   
    
            for line in requset_lines:
                print(line)
    
            # 解析请求报文
            request_start_line = requset_lines[0]   
            print("*" * 10)
            print(request_start_line.decode("gbk"))
    
            # 使用正则表达式,提取用户请求的文件名
            file_name = re.match(r"\w+ +(/[^ ]*)", request_start_line.decode("utf-8")).group(1)
    
            # 如果文件名是根目录,设置文件名为 file_name
            if "/" == file_name:
                file_name = "/index.html"
    
            # 打开文件,读取内容
            try:
                file = open(HTML_ROOT_DIR + file_name, "rb")
            except IOError:
                response_start_line = "HTTP/1.1 404 Not Found\r\n"
                response_headers = "Server: My server\r\n"
                response_body = "The file is not found !"
            else:
                # 读取文件内容
                file_data = file.read()
                file.close()
    
                response_start_line = "HTTP/1.1 200 OK\r\n"
                response_headers = "Server: My server\r\n"
                response_body = file_data.decode("utf-8")
    
            # 拼接返回数据
            response = response_start_line + response_headers + "\r\n" + response_body
            print("response data: ", response)
            # 向客户端返回响应数据
            client_socket.send(bytes(response, "gbk"))    
            client_socket.close() 
    
        def bind(self, port):
            # 绑定端口
            self.server_socket.bind(("", port)) 
    
    def main():
        http_server = HTTPServer()
        http_server.bind(8000)
        http_server.start()
    
    if __name__ == "__main__":
        main()
    
    

    运行 web_server.py 文件,然后使用谷歌浏览器访问 “127.0.0.1:8000/”,得到以下结果:

    服务器等待客户端连接...
    [127.0.0.1, 55459]用户连接上了
    request data:  b'GET / HTTP/1.1\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: zh-Hans-CN,zh-Hans;q=0.5\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18363\r\nAccept-Encoding: gzip, deflate\r\nHost: 127.0.0.1:8000\r\nConnection: Keep-Alive\r\n\r\n'
    b'GET / HTTP/1.1'
    b'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
    b'Accept-Language: zh-Hans-CN,zh-Hans;q=0.5'
    b'Upgrade-Insecure-Requests: 1'
    b'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18363'
    b'Accept-Encoding: gzip, deflate'
    b'Host: 127.0.0.1:8000'
    b'Connection: Keep-Alive'
    b''
    **********
    GET / HTTP/1.1
    response data:  HTTP/1.1 200 OK
    Server: My server
    
    <!DOCTYPE html>
    <html lang="UTF-8">
    <head>
        <title>
            我的博客
        </title>>
    </head>>
    <body class="bs-docs-home">
    
    <!--Docs master nav-->
    <header class="navbar navbar-static-top bs-docs-nav" id="top">
    <div class="container">
        <div class="navbar-header">
            <a href="/" class="navbar-brand">我的博客</a>>
        </div>
        <nav id="bs-navbar" class="collapse navbar-collapse">
            <ul class="nav navbar-nav">
                <li>
                    <a href="https://blog.csdn.net/qq_34139994/article/details/107725117">Python 进阶之路</a>
                </li>
                <li>
                    <a href="https://blog.csdn.net/qq_34139994/article/details/97393033">Qt 进阶之路</a>
                </li>
                <li>
                    <a href="https://blog.csdn.net/qq_34139994/article/details/104144719">我的网址收藏</a>
                </li>
                <li>
                    <a href="https://blog.csdn.net/qq_34139994/article/details/93847054">设计模式</a>
                </li>
                <li>
                    <a href="https://blog.csdn.net/qq_34139994/article/details/105390364">请善待90后</a>
                </li>
                <li>
                    <a href="/contact.html">联系博主</a>
                </li>
            </ul>
        </nav>
    </div>
    </header>>
    
    <!--Page content of coursel-->
    <main class="bs-docs-masthead" id="content" tabindex="-1">
        <div class="container">
            <span class="bs-docs-booticon bs-docs-booticon-lg bs-docs-booticon-outline">自我介绍</span>
            <p class="lead">博主主要从事于客户端、嵌入式、移动端的开发工作,酷爱研发,热于分享!</p>
            <p class="lead">
                <a href="/contact.html" class="btn btn-outline-inverse btn-lg">联系博主</a>
            </p>
        </div>
    </main>
    </body>>
    </html>>
    
    [127.0.0.1, 55527]用户连接上了
    request data:  b'GET /contact.html HTTP/1.1\r\nReferer: http://127.0.0.1:8000/\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: zh-Hans-CN,zh-Hans;q=0.5\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18363\r\nAccept-Encoding: gzip, deflate\r\nHost: 127.0.0.1:8000\r\nConnection: Keep-Alive\r\n\r\n'
    b'GET /contact.html HTTP/1.1'
    b'Referer: http://127.0.0.1:8000/'
    b'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
    b'Accept-Language: zh-Hans-CN,zh-Hans;q=0.5'
    b'Upgrade-Insecure-Requests: 1'
    b'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18363'
    b'Accept-Encoding: gzip, deflate'
    b'Host: 127.0.0.1:8000'
    b'Connection: Keep-Alive'
    b''
    **********
    GET /contact.html HTTP/1.1
    response data:  HTTP/1.1 200 OK
    Server: My server
    
    <!DOCTYPE html>
    <html lang="UTF-8">
    <head>
        <title>
            我的博客
        </title>>
    </head>>
    <body class="bs-docs-home">
    
    <!--Docs master nav-->
    <header class="navbar navbar-static-top bs-docs-nav" id="top">
        <div class="bs-docs-header" id="content" tabindex="-1">
            <br class="container">
            <h1>联系博主</h1>
            <div class="lead">
                <address>
                    <br>电子邮件: <strong>123456789@qq.com</strong></br>
                    <br>地址: 上海市嘉定区安亭镇紫金大别墅区36号</br>
                    <br>邮政编码: 201711</br>
                    <br><abbr title="Phone">联系电话: </abbr>021-12345678
                </address>
            </div>
        </div>
    </header>
    

    在这里插入图片描述
    在这里插入图片描述

    WSGI 接口

    WSGI(Web Server Gateway Interface)服务器网端接口,是 Web 服务器和 Web 应用程序或框架之间的一种简单而通用的接口。WSGI 中存在两种角色:接受请求的的 Server(服务器)和处理请求的 Application(应用),它们底层是通过 FastCGI 沟通的。当 Server 收到一个请求后,可以通过 Socket 把环境变量和一个 Callback 回调函数传给后端 Application,Application 在完成页面组装后通过 Callback 把内容返回给 Server,最后 Server 再将响应返回给 Client。

    使用 Python 的 wsgiref 模块可以不用考虑服务器和客户端的连接、数据的发送和接收等问题,而专注以业务逻辑的实现。下面通过实例应用 wsgiref 创建页面。

    使用上个例子中 views 文件夹下的 index.html 作为主页
    在 views 文件夹同级目录下创建 application.py 文件,用于实现 Web 应用程序的 WSGI 处理函数,具体代码如下:

    def app(environ, start_response):
        start_response('200 OK', [('Content-Type', 'text/html')])   # 响应信息
        file_name = environ['PATH_INFO'][1:] or '/index.html'	# 获取 url 参数
        HTML_ROOT_DIR = "./views"					# 设置 HTML 文件目录
    
        try:
            file = open(HTML_ROOT_DIR + file_name, "rb")		# 打开文件
        except IOError:
            response = "The file is not found !"			# 如果异常,返回 404
        else:
            file_data = file.read()					# 读取文件内容
            file.close()						# 关闭文件
            response = file_data.decode("utf-8")			# 构造响应数据	
    
        return [response.encode("utf-8")]				# 返回数据
    

    在 views 文件夹同级目录下创建 web_server.py 文件,用于启动 WSGI 服务器,加载 application() 函数,具体代码如下:

    from wsgiref.simple_server import make_server			# 从 wsgiref 模块导入
    from application import app					# 导入编写的 application 函数
    
    httpd = make_server("", 8000, app)				# 创建一个服务器,IP 地址为空,端口为 8000,处理函数是 app
    print("Serving HTTP on port 8000...")
    
    httpd.serve_forever()						# 开始监听 HTTP 请求
    

    运行 web_server.py 文件,当显示 “Serving HTTP on port 8000…” 时,在浏览器地址栏输入 “127.0.0.1:8000”,就能访问 index.html 首页啦!

    Web 框架

    如果你要从零开始建立一些网站,可能会注意到你不得不一次又一次地解决一些相同的问题。这样做是非常麻烦的,并且违反了良好编程的核心原则之一 - DRY(不要重复自己)。

    有经验的 Web 开发人员在创建新站点时也会遇到类似的问题。当然,总会有一些特殊情况会因网站而异,但在大多数情况下,开发人员通常需要处理四项任务 - 数据的创建、读取、更新和删除,也称为 CURD。幸运的是,开发人员通过使用 Web 框架解决了这些问题。

    Web 框架是用来简化 Web 开发的软件框架。框架的存在是为了避免用户重新发明轮子,并且在创建一个新的网站时帮助减少一些开销。典型的框架提供了如下常用功能:

    • 管理路由
    • 访问数据库
    • 管理会话和 Cookies
    • 创建摸版来显示 HTML
    • 促进代码的重用

    事实上,框架根本就不是什么新的东西,它只是一些能够实现常用功能的 Python 文件。我们可以把框架看作是工具的集合,而不是特定的东西。框架的存在使得建立网站更快、更容易。

    前面我们学习了 WSGI(服务器网关接口),它是 Web 服务器和 Web 应用程序或框架之间的一种简单而通用的接口。也就是说,只要遵循 WSGI 接口规则,就可以自主开发 Web 框架。所以,各种开源 Web 框架至少有上百个,关于 Python 框架优劣的讨论页仍在继续。

    作为初学者,应该选择一些主流的框架来学习,因为主流的框架文档齐全,技术积累较多,社区繁盛,并且能得到更好的支持。下面介绍几种 Python 的主流 Web 框架:

    1. Django
      这可能是最广为人知和使用最广泛的 Python Web 框架了。Django 有世界上最大的社区和最多的包。它的文档非常完善,并且提供了一站式的解决方案,包括缓存、ORM、管理后台、验证、表单处理等,使得开发复杂的数据库驱动的网站变得简单。但是,Django 系统耦合度较高,替换掉内置的功能比较麻烦,所以学习曲线也相当崎岖;

    2. Flask
      Flask 是一个轻量级 Web 应用框架。它的名字暗示了它的含义,他基本上就是一个微型的胶水框架。Flask 把 Werkzeug 和 Jinja 粘和在一起,所以它很容易被扩展。Flask 也有许多的扩展可以供用户使用,Flask 也有一群忠诚的粉丝和不断增加的用户群。它有一份很完善的文档,甚至还有一份唾手可得的常见范例。Flask 很容易使用,用户只需要几行代码就可以写出来 “Hello World”;

    3. Bottle
      这个框架相对来说比较新。Bottle 才是名副其实的微框架 - 它只有大约 4500 行代码。它除了 Python 标准库以外,没有任何其他的依赖,甚至还有自己独特的一点儿模板语言。Bottle 的文档很详细并且抓住了事物的实质。它很像 Flask,也使用了装饰器来定义路径;

    4. Tornado
      Tornado 不单单是个框架,还是个 Web 服务器。它一开始视为 FriendFeed 开发的,后来在 2009 年的时候也给 Facebook 使用。它是为了解决实时服务而诞生的。为了做到这一点,Tornado 使用了异步非阻塞 IO,所以它的运行速度非常快;

    更多请参考

    展开全文
  • 主要介绍了Python编程实现的简单Web服务器功能,涉及Python URL请求与响应相关操作技巧,需要的朋友可以参考下
  • 完整版 零基础学Python课件15 第15章 Web编程.pptx
  • 【完整Python从入门到精通课件如下】 Python从入门到精通 第1章 走进Python.ppt ...Python从入门到精通 第20章 Web编程.pptx Python从入门到精通 第21章 Flask框架.pptx Python从入门到精通 第22章 e起去旅行网站.pptx
  • Python最新Web编程框架Flask研究.pdf
  • web50 使用Python和JavaScript进行CS50 Web编程的课程和项目
  • Python进行web开发需要学习什么?

    千次阅读 2020-06-23 10:26:35
    HTML很容易学习的,但也很容易误用,要精还得费点功夫。  随着HTML5的发展和普及,了解HTML5也将成为Web开发人员的必修课。  涉及到网页外观时,就需要学习CSS了,它可以帮你把网页做得更美观。  利用HTML和CSS...

    前言

    整理两份高质量博客。梳理方向。

    博客一

    第一步:HTML

    HTML是网页的核心,学好HTML是成为Web开发人员的基本条件。HTML很容易学习的,但也很容易误用,要学精还得费点功夫。
      随着HTML5的发展和普及,了解HTML5也将成为Web开发人员的必修课。
      涉及到网页外观时,就需要学习CSS了,它可以帮你把网页做得更美观。
      利用HTML和CSS模拟一些你所见过的网站的排版和布局(色彩,图片,文字样式等等)。

    第二步:学习javascript,了解DOM

    JavaScript是一种能让你的网页更加生动活泼的程序语言。学习JavaScript的基本语法,学会用javascript操作网页中dom元素。
      接着学习使用一些javascript库,比如jquery是大部分WEB开发人员都喜欢用的,通过Jquery可以有效的提高JavaScript的开发效率。

    第三步:了解Web服务器

    你不必在这上面花太多精力,但对IIS、Apache基本配置要掌握,这方面的知识学起来也相对容易,不会花多长时间。
      学习一点Unix和Linux的基本知识,因为大部分Web服务器都运行在Unix和Linux平台上。

    第四步: 学好一门服务器端脚本语言

    服务器端脚本编程(后台开发)也是Web开发人员的基本功之一,你只需挑选一个服务器端脚本语言,然后学好它。
      目前流行的服务器脚本语言有:php、asp.net、jsp、ruby、python、等。

    第五步:学习数据库及SQL语法

    要构建动态页面通常会使用到数据库,常用的数据库有SQLServer、Oracle、MySQL 等,它们都会遵循标准的SQL原则。
      通常asp.net 程序使用SqlServer数据库,PHP、java使用Oracle、MySQL数据库。

    第六步:综合实战

    选一个你喜欢的后台编程语言,结合之前学到的html,css,javascript 前端技术,实现一个简单的留言本、论坛程序、进而实现一个简单的CMS(内容管理系统)

    第七步:学习使用Web框架

    当你掌握了HTML,CSS,JavaScript和服务器端脚本语言后,就应该找一个Web框架加快你的Web开发速度,使用框架可以节约你很多时间。
      比如.net的MVC,JAVA 的SSH,php的cakephp、CodeIgniter、zend,ruby的ROR,python的dijango等等,其实里面都有一些相通之处。

    整个开发过程你还可能会学习到一些工具的使用:
      Visio,Dreamweaver,Vistual Studio、elipse、(Vim, EditPlus, Notpad++)、sqlserver、phpmyadmin,各种浏览器以及FireBug的插件,IE下的WebDevelopmentHelper、IETester等。如果你足够用心,你还发掘出很多不错的资源,例如MSDN,W3cSchool,一些前辈的博客,一些技术论坛等等,这都是你未来前进道路上的财富。如还想深入研究,学学http协议,理解什么是无状态,不然你永远做不好WEB开发,研究web程序服务端运行原理,还有tcp/ip,udp协议等。
      从最简单的HTML到Web框架,内容还是不少,要想精通这里的每一样技术,都得下苦功夫才行。半年的时间,足够你对web开发产生一个有效的认识,这个时候,再思考你进一步学习的方向吧。
    Python作为一种灵活好学的脚本语言,已经越来越受程序员的欢迎和热捧,甚至成为程序员的必备技能。Django是Python的Web开放框架,好多人说学习Python就是在学Django,从这也可以看出Django的强大

    作者:万人党
    链接:https://zhuanlan.zhihu.com/p/25985841
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    博客二

    添加链接描述

    博客三:10分钟了解html,css,jsp

    https://www.cnblogs.com/shiyanlou/p/12304522.html

    博客:VSCOE实现html预览

    https://blog.csdn.net/sinat_34104446/article/details/83051052

    展开全文
  • python web开发学习实录

    2016-01-25 11:17:41
    Python 的安装和环境配置、Python的基本语法、流程控制、模块和函数、数据结构、字符串与正则表达式、面向对象编程、文件处理、程序异常和处理、数据库连接和持久化操作、Python网络功能、Python与HTML、XML 的应用...
  • Python测试驱动开发:使用Django、Selenium和JavaScript进行Web编程
  • Python Web开发的完整指南

    千次阅读 多人点赞 2020-11-06 09:23:15
    博客:https://somenzz.cn,电脑阅读更方便,阅读原文可访问文中的链接。Python 这么长时间了,终究觉得编程语言仅仅是个工具,要想通过技术实现自己的价值,终究离不...

    博客:https://somenzz.cn,电脑阅读更方便,阅读原文可访问文中的链接。

    学了 Python 这么长时间了,终究觉得编程语言仅仅是个工具,要想通过技术实现自己的价值,终究离不开具体的应用场景,而应用场景繁多,我们的时间和精力都是有限的,不可能什么都能学好,必须做出选择,就像打游戏时选择英雄的职业,是法师还是打野,只能选择一个,一旦选好,游戏结束前不可更改。

    编程也是一样,选择一个方向,勤学苦练,深入下去,不要轻易改变。对于 Python,主要的应用领域有 5 大类,自动化测试或运维,爬虫,数据分析,Web 开发,机器学习或人工智能,这几个领域的入门难度从自动化到机器学习也是从易到难,尤其是机器学习,对 Python 的要求并不高,反而是数学及算法要精通。

    相信每个人都有自己的职业选择,今天来分享下使用 Python 从事 Web 开发的完整指南,主要有以下内容:

    1.什么是 Web 开发?2.为什么 Python 适合 Web 开发?3.有哪些流行的 Python Web 框架?4.有哪些用于 Web 开发的 Python 库?5.Web 开发学习路线图6.用 Python 创建第一个 Web 应用程序7.成为 Python Web 开发人员

    1、什么是网站开发?

    对于那些刚接触编程的人,可能想知道到底什么是 Web 开发。尽管不可能精确地指出一个确切的术语,但是 Web 开发可以粗略地定义为构建、创建和维护一个网站。通常,Web 开发涉及一个前端,与客户端交互的所有内容,以及一个后端,包含业务逻辑并与数据库交互。前端涉及 html、css、javascript 和由此衍生出的库及框架,如 Angular、React、Vue,可谓学无止境。后端可以有很多语言实现,这里就是 Python 了,也有非常丰富的框架,后面会提到。

    2、为什么 Python 适合 Web 开发?

    一是易于学习:Python 是初学者最流行的语言,与 Java 和 C ++ 等其他语言相比,你可以编写更少的代码,减少出错,从而提升效率。不仅如此,它还具有较低的进入门槛,因为它与日常语言相对更相似,可以轻松地理解代码。

    二是具有丰富的生态系统和库:Python 提供了广泛的库工具和包,可以访问许多预先编写的代码,从而缩短了应用程序的开发时间。例如,你可以使用Numpy 和 Pandas 进行数学分析,使用 Pygal 进行图表分析,并使用 SLQALchemy 进行可组合查询。Python 还提供了惊人的 Web 框架,例如Django 和 Flask,后面部分深入探讨。

    三是快速原型制作:与其他编程语言相比,Python 可以节省大量的时间来构建项目,你的想法可以更快地实现,从而可以更快的获得反馈并快速迭代。这种高效的开发使 Python 特别适合那些可以更快进入市场以获得竞争优势的创业公司。

    四是广泛流行:Python 是世界上最受欢迎的语言之一,拥有来自世界各地的社区贡献,几乎所有的技术问题通过搜索引擎都可以很快找到解决方案。Python 本身也在不断更新以提供新功能和库,同时还提供了出色的文档和社区支持。特别是对于新开发人员,Python 提供了广泛的支持和框架。

    3、有哪些流行的 Python Web 框架?

    什么是 Web 框架,为什么如此重要?可以把 Web 框架想象成一个工具箱。一个 Web 框架是预先写好的,由标准化的代码组成,为编写 Web 应用程序服务,目的是为了使开发更快、更容易,包装和模块的集合,使 web 应用程序更加可靠,更容易扩展。换句话说,框架让你不必做繁琐的工作。

    Python Web 框架仅在后端用于服务器端技术,用在 URL 路由,HTTP 请求和响应,访问数据库以及 Web 安全。虽然不一定非要使用 Web 框架,但强烈建议您使用它,因为它可以帮助你用更少的时间开发更复杂的应用程序。

    那么有哪些流行的 Python Web 框架呢?

    1、Django

    为了在更短的时间内创建复杂、高质量的 web 应用,很多 web 开发人员会首选 Django 框架。Django 提供了一个开放源代码的高级框架,鼓励快速开发和简洁实用的设计,同时还提供了强大的社区支持和详细的文档。Django 与时俱进,根据 web 开发的趋势相对地更新其功能。Django 的特色如下:

    •开放源代码•全栈框架(一条龙服务,完整的解决方案)•权限认证•URL 路由•模版引擎•DRY ( don’t repeat yourself) 设计模式•ORM 映射•数据库架构支持,支持 PostgreSQL, MySQL , SQLite, Oracle•遵循 MVC 设计架构

    官方文档是最好的教程,可以从零开始构建第一个程序。Django 非常灵活,您可以与大型公司的 MVP 合作,使用 Django 的一些最大的公司是Instagram,Dropbox,Pinterest 和 Spotify。

    2、Flask

    Flask 被认为是一个微框架,是一个简约的 Web 框架。它不那么“包含电池”,这意味着它缺少像 Django 这样的全栈框架提供的许多特性和功能,例如 Web 模板引擎,帐户授权和身份验证。其主要特色如下:

    •一个轻量级、微框架•学习成本相对较低,入门快•支持 JinJa2 模版引擎•继Django模板语言之后的现代模板语言

    Flask 极简且轻巧,这意味着您可以在编写代码时添加所需的扩展和库。Flask背后的理念是,它仅提供构建应用程序所需的组件,因此开发人员具有很大的灵活性和控制力。Flask 还是一种流行且功能强大的 Web 框架,已被 Netflix,Linkedin 和 Uber 等大公司使用。

    3、Bottle

    它被普遍称为小型微框架。它主要关注 Web API,并尝试将所有内容捆绑在一个文档中,除了 Python 标准库外,它没有依赖项。Bottle 的特色如下:

    •微框架•单一源文件最初是用于构建api的,这意味着所有内容都在一个源文件中。•URL路由。•模板引擎。•实用程序。•WSGI标准上的抽象。

    Bottle 非常适合用于原型设计,学习 Web 框架的组织以及构建简单的个人应用程序。

    4、CherryPy

    CherryPy 是一个内嵌多链服务器的流行框架,包含服务器池、安装框架和模块框架。其特色是:

    •开源极简主义•一次运行多个 htpp 服务器•强大的配置和灵活的插件系统•内建对概要分析,覆盖和测试的支持

    5、Pyramid

    Pyramid 是 Pylon 项目的一部分;它是 Python 语言中最灵活的框架之一。该框架允许开发人员选择任何东西如:DBMS,URL 结构,模板样式等等。

    6、Web2Py

    Web2Py 允许调试器和代码编辑器通过部署工具来编辑代码和调试代码。它使开发人员能够通过 Web 浏览器开发,修改,部署和管理Web应用程序。

    每年都可能会有新的框架、或已有框架推出新特性,作为开发者应该使用哪个?

    到目前为止,Django 是最受欢迎的框架,其次是 Flask,如果你不知道怎么选就从这两者中选择一个吧。

    你可能还会问:我应该选择 Django 还是 Flask?答案是,这取决于 Web 开发人员的技能水平。如果很有经验,请考虑使用更多的“准系统”来开发程序。而如果您是初级开发人员,则最好使用提供更多支持(例如 Django)的框架。

    另外,问问自己,是希望使用基础代码库进行构建还是希望灵活地构建代码库的主干?如果是前者请使用 Django;如果是后者,请选择 Flask。归根结底,他们俩都可以实现相同的功能,更重要的是开始编码,而不是为哪种框架更好而烦恼。

    4、有哪些用于 Web 开发的 Python 库?

    如果需要 Web 爬虫为你的应用程序提取数据,Scrapy 非常适合。它是用于抓取,数据挖掘,自动化测试等的广泛使用的库。

    Zappa 是一个功能强大的库,用于在AWS Lambda 上开发无服务器应用程序。

    Requests 库可可以轻松发送 HTTP 请求,用于与应用程序进行通信,获取 HTML 页面数据。

    另一个有用的库是 Dash,它可以帮助开发与数据可视化有关的 Web 应用程序。它基于 Flask 构建,提供诸如图表,图形,仪表板等功能。

    5、Web 开发学习路线图

    步骤 1:基础知识储备

    首先,前端的三个最基本的东西 HTML 5、CSS 3 和 JavaScript(ES6)是必须要学好的。这其中有很多很多的技术,比如,CSS 3 引申出来的 Canvas(位图)、SVG(矢量图) 和 WebGL(3D 图),以及 CSS 的各种图形变换可以让你做出非常丰富的渲染效果和动画效果。ES6 简直就是把 JavaScript 带到了一个新的台阶,JavaScript 语言的强大,大大释放了前端开发人员的生产力,让前端得以开发更为复杂的代码和程序

    •JavaScript 的核心原理•浏览器的工作原理•HTTP 协议:HTTP/2,短连接、长连接、Stream连接、WebSocket

    步骤 2: 前端框架及性能调优

    目前而言,前端社区有三大框架 Angular.js、React.js 和 Vue.js。React 和 Vue 更为强大,新手可以从 Vue 开始学习。

    前端性能优化方面可以看以下几本书籍:

    Web Performance in Action ,是一本很不错的书,其中有 CSS、图片、字体、JavaScript 性能调优等。

    Designing for Performance ,讲了很多网页优化的技术和相关的工具,可以让你对整体网页性能优化有所了解。

    High Performance JavaScript 让你了解如何提升各方面的性能,包括代码的加载、运行、DOM 交互、页面生存周期等。雅虎的前端工程师尼古拉斯·扎卡斯(Nicholas C. Zakas)和其他五位 JavaScript 专家介绍了页面代码加载的最佳方法和编程技巧,来帮助你编写更为高效和快速的代码。

    步骤 3:后端技能学习

    首先是服务器相关的协议,诸如 WSGI,ASGI 协议的了解,其次前面提到的Python 相关的 Web 框架,还包括一些 API 框架,如:Django REST Framework、FastAPI、Flask REST frameworks 等等。

    此外还要学习数据库相关的知识,SQL 语言,数据库相关的查询优化也是不可或缺的。

    最后服务端部署的相关技术学习,包括 nginx、uwsgi、gunicorn、https 协议等。

    6、 用 Python 创建第一个 Web 应用程序

    使用 Flask 创建第一个 HelloWorld 的 Web 应用程序,首先安装 Flask。

    pip install flask

    创建一个 hello.py 文件,写入以下内容:

    from flask import Flask
    app = Flask(__name__)
    
    
    @app.route("/")
        def hello():
            return "Hello World!"
    
    
    if __name__ == "__main__":
        app.run()
    

    代码很简单,就不解释了,执行python hello.py,然后访问 http://locahost:5000/, 就可以看到一个显示 "Hello World!" 字样的网页。

    7、选择成一个 Python Web 开发人员

    恭喜!您正在逐步成为一名熟练使用 Python 的 Web 开发人员。现在应该对如何用 Python 进行 Web 开发有了一个很好的了解,这种了解,将在 Web 开发学习的道路上不迷茫。

    小结

    Python 进行 Web 开发主要是后端开发,而后端语言有很多选择,诸如 Java,GoLang。前端知识是绕不开 html,css,javascript,因此前端知识是必须掌握的,后端这块可以从 Python 入门,熟练之后有余力再深入掌握其他后端语言。

    展开全文
  • Python 的安装和环境配置、Python的基本语法、流程控制、模块和函数、数据结构、字符串与正则表达式、面向对象编程、文件处理、程序异常和处理、数据库连接和持久化操作、Python网络功能、Python与HTML、XML 的应用...
  • 绝对零基础Python3.x 入门,掌握Python语言常数据类型与操作、语句语法、流程控制、函数定义、模块管理,类与面向对象编程,错误与异常处理,文件读写,数据库编程,Python Web编程初步等知识;为以后Python各方向...
  • Python 编程入门经典

    2018-05-14 10:53:26
    Python编程入门经典》(作者James Payne)主要介绍Python 3.1。Python 3.1发布于2009年,是Python程序语言的最新主版本。由于Python是一门跨平台的语言,本书中的内容和示例适用于任何平台(除非特别指出的例外情况)...
  • Python WebPython语言一个重要的应用方面,Python Web有很多,其中Flask和Django框架是他们的佼佼者。Flask是一个Python实现的Web开发微框架。
  • 我们都知道编程的重要性,编程要从娃娃抓起,但孩子到底是该Scratch还是Python呢?Scratch和Python的区别是什么?1、孩子应该Scratch还是Python?(1)0-6岁的孩子应该学习ScratchScratch是MIT(麻省理工)设计...
  • Python网络编程基础

    2018-11-29 15:33:54
    Python网络编程基础》全面介绍了使用Python语言进行网络编程的基础知识,主要内容包括网络基础知识、高级网络操作、Web Services、解析HTML和XHTML、XML、E-服务、FTP、使用Python操作数据库、SSL、几种服务器端...
  • 最近有不少读者私信我,这不刚开始学习Python就开始遇到难题了,对于Python IDE都比较纠结,希望找到一些适合自己的、Python开发工具。本篇给大家分享几款Python开发工具,供正在纠结用哪种开发工具的小伙伴们参考~...
  • 学Python。因为相对于C语言,Python简洁高效,应用范围更广。简洁高效对于初学者来说,早期的成就感是学习编程的一个重要因素。C语言相对Python来说语法晦涩,而Python则奉行简洁主义,Python语法有助于创建整洁的...
  • 10大理由告诉你为什么要学习Python

    千次阅读 2022-05-19 23:03:32
    它应用非常广泛,例如编程Web 开发、机器学习和数据科学等。在最新的tiobe排行中 Python 甚至超越了 Java 成为顶级编程语言。在本文中,w3cschool编程狮将告诉你学习 Python 的10大理由。 首先我们先了解下...
  • 怎样用 Lightly 高效学习 Python 编程

    千次阅读 2022-03-27 19:12:48
    Lightly具有即开即用、...不管是课业较多的非专业学生还是上班族,都可以轻松上手,每天半小时进行python入门实践练习。它也是个非常适合中小型简单项目的开发工具,是个便捷好用、可随时随地在线编程的高效开发软件。
  • 网络安全 Python 编程指南

    千次阅读 2022-02-21 17:30:14
    许多编程语言用于执行与网络安全相关的日常任务,但其中一种已成为行业标准:Python,它正在主导网络安全行业。 Python 具有易于阅读和理解的语法以及广泛的应用程序,使其成为任何有抱负的网络安全专业人员的通用...
  • 对于期待通过自学Python的同学在着手学习以前能够对自身的知识体系和将来的职业规划开展一次自我评定。假如评定結果良好,新手入门Python也就沒有想像中那麼难了。闲言少叙,切入正题!小编觉得,适合学习Python的...
  • python网络编程第3版pdf

    2018-02-05 14:53:58
    Python是一种功能十分强大的面向对象编程语言,可以用于编写独立程序、快速脚本和复杂应用的原型。作为一种开源软件,Python可以自由获取,而且非常易学易用。本书是Python语言的经典入门读本,由两名顶尖的Python...
  • 使用Python和JavaScript进行网络编程 使用Python和JavaScript的CS50 Web编程
  • Python+Web开发实战

    2018-05-17 11:01:17
    与其它Web后端语言不同,Python语言需要自己编写Web服务器。 如果你使用一些现有的框架的话,可以省略这一步; 如果你使用Python CGI编程的话,也可以省略这一步;
  • 怎么用Python进行Web开发?

    千次阅读 2021-11-28 13:50:07
    Web开发这样一个大概念,对我这种小白来说,想也不知道从哪下手。在网上广泛地浏览了一下这个方面的文章后,我发现当今Web开发的一大热门语言是Python(最大的当然还是PHP),而恰好我平常用Python也多,从Python...
  • 一、Python的优势 1、简单易学。这就是Python最大的优势,一个初学者不需要像C、Java去懂得数据类型,内存管理,你只要学会几句语法,你就可以完成一个任务。 2、代码简洁规范。别的语言可能需要上百行的代码才能...
  • 第 1 部分讲解了 Python 的一些通用应用,包括正则表达式、网络编程、Internet 客户端编程、 多线程编程、GUI 编程、数据库编程、Microsoft Office 编程、扩展 Python 等内容。第 2 部分 讲解了与 Web 开发相关的...
  • 第2部分讲解了与Web开发相关的主题,包括Web客户端和服务器、CGI和WSGI相关的Web编程、Django Web框架、云计算、高级Web服务。 第3部分则为一个补充/实验章节,包括文本处理以及一些其他内容。 适合具有一定经验的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 201,262
精华内容 80,504
关键字:

web编程怎么学python