python web开发框架

一、简述
HTTP: 无状态,短连接(链接之后自动断开)
TCP: 链接之后除非设定关闭,否则不断开
web(应用):
浏览器: (socket客户端)
访问的网址: (socket服务端)

程序流程:
1、 客户端输入网址(ip:port), 访问网址
	链接服务端并发送请求
2、 服务端监听自己的ip和port,监听到之后,就可以接收到客户端发来的请求, 并给于响应, 响应之后断开链接
3、客户端接收到服务端的相应之后,也断开链接

自己写网站:
1、socket服务端
2、根据url的不通,返回不同的页面
路由系统:
url -> 函数
3、字符串返回用户
模板引擎渲染
html充当模板(在特定位置设定特殊字符,数据库动态获取数据,程序生成指定位置的标签信息,替换掉Html中的特殊字符)
4、web框架:
包含(1, 2, 3)各部分的功能 例: Tornado
包含(2, 3)部分的功能 例:Django (wsgiref为第三方的工具实现1的功能)
包含(2)部分的功能: Flask
这几个框架中只有Django是重量级的框架,其他都是轻量级的框架

二、Django框架:
1、安装django, pip3 install django/conda install django
2、创建django项目:
django-admin startproject mysite(项目文件夹名称)
3、启动创建的项目:
python manage.py runserver 127.0.0.1:8080
默认的端口是:8000
4、pycharm创建项目项目目录介绍

	mysite
		mysite
			settings.py:  #  django的配置文件
			url.py:  # 路由系统,url和函数的映射关系
			wsgi.py: # socket功能,本机带有wsgiref,工程项目生产中使用 uwsgi
			
	# 当前项目中所有的操作都有该程序管理
	manage.py:   所有程序的管理程序脚本

三、简易的登录页面:
1、url.py: 创建映射的功能函数,必须传入一个参数, 参数为所有请求信息
在这里插入图片描述
2、templates:在该文件下创建页面模板文件,
在这里插入图片描述
并在setting中配置信息:
在这里插入图片描述主要指定DIRS的值,是html文件的文件夹位置

3、创建static文件夹, 编写静态文件, css:  设定页面模板文件的样式,在html文件中使用link将css中的样式加入页面展示中

在这里插入图片描述
4、额外配置:
html页面模板想要引入css样式,需要在setting.py中配置如下信息:

# 使用是的前缀
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

static是css文件所在的文件夹位置,不需要定位到具体的css文件,但是html引入css样式的时候, 使用的位置定位是 STATIC_URL 的信息:
建议创建存放css文件夹的时候,文件夹名称和setting.py 中 STATIC_URL的值相同

<link rel="stylesheet" href="/static/commons.css">
	还有一个额外配置:
将第五行注释掉
MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    #'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
 附加:请求方式:
 def login(request):
    '''
    处理用户请求, 并返回内容
    :param request: 用户请求相关的所有信息
    :return:
    '''

    # return HttpResponse('login.html')
    return render(request, "login.html")
路由系统中的方法中至少要有一个参数,request是所有请求的信息
request.method:   获取当前的参数传递方式:(get/post两种方式)
request.GET: 获取当前get方式传递的参数信息
request.POST: 获取当前post方式传递的参数信息
post传参方式: request.GET和request.POST都有可能有值
get传参方式: 只有request.GET有值
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值