zoukankan      html  css  js  c++  java
  • Django--django安装和HTTP协议

    HTTP协议

    http协议
    
    超文本传输协议(应用层的,基于tcpip协议的)
    
    特点:无状态,无连接(短连接)
    
    请求信息格式
    
    GET / HTTP/1.1   请求行
    Host: 127.0.0.1:8003  请求头
    Connection: keep-alive
    Cache-Control: max-age=0
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
    Accept-Encoding: gzip, deflate, br
    Accept-Language: zh-CN,zh;q=0.9
    #空行
    请求数据  username=ziwen password=666
    
    
    get请求 请求数据部分是没有数据的,get请求的数据在url上,在请求行里面,有大小限制,常见的get请求方式: 浏览器输入网址,a标签
    post请求 请求数据在请求体(请求数据部分) ,数据没有大小限制, 常见方式:form表单提交数据
    
    状态码:
    	1xx请求被接受但是还在处理当中 
    	2xx请求成功
    	3xx重定向(301永久重定向和302临时重定向)
    	4xx客户端错误(请求错误)
    	5xx服务器错误
    

    MVC和MTV框架模式

    MVC:
    	M -- models 数据库相关
    	V -- views  视图相关(逻辑)
    	C -- controller url控制器(url分发器,路由分发)
    django -- MTV
    	M -- models 数据库相关
    	T -- templates HTML相关 html就是模板
    	V -- views  视图相关(逻辑)
    	
    	+ controller url控制器(url分发器,路由分发)
    

    django下载安装

    下载
    	pip3 install django==1.11.9 
    	pip3 install django==1.11.9 -i http://xxxxxx  指定源
    创建项目
    	django-admin startproject mysite   创建了一个名为"mysite"的Django 项目
    创建app
    	python manage.py startapp app01
    # 不要忘记把app01写入到项目中的配置文件中
    # return render(request, 'index1.html')
    # return HttpResponse("登录失败!")
    templates要想使用下面的html文件,需要在settings中设置
    'DIRS': [os.path.join(BASE_DIR,"templates")]
    需要在setting中的templates加入上面的路径
    # 如果是pycharm创建的请忽略上面的templates配置路径,它会给你弄好,不用自己操心
    启动项目
    	python manage.py runserver  默认是127.0.0.1:8000
    	python manage.py runserver 127.0.0.1  默认端口号是8000
        python manage.py runserver 127.0.0.1:8001 
    
    

    django的url路由分发

        # url(r'^articles/(d+)/(d+)/', views.articles), #articles/2019/9/
    	视图函数
    		def articles(request,year,month):  # 位置参数 2019  9
                print(year,type(year)) #2019 <class 'str'>  #匹配出来的所有数据都是字符串
                print(month)
    
                return HttpResponse(year+'年'+ month +'月' +'所有文章')
    		
    
        # 有名分组参数
        url(r'^articles/(?P<xx>d+)/(?P<oo>d+)/', views.articles), #articles/2019/9/
        #xx=2019  oo=9  关键字传参
    	
        def articles(request,oo,xx):  # 关键字传参 2019  9
            print(xx,type(xx)) #2019 <class 'str'>  #匹配出来的所有数据都是字符串
            print(oo)
            return HttpResponse(xx+'年'+ oo +'月' +'所有文章')
    
  • 相关阅读:
    jQuery 入门 -- 事件 事件绑定与事件委托
    原生js实现视差风格音乐播放器
    jQuery 入门
    一些开放的免费接口【已失效】
    php mysqli操作数据库
    DOM 相关
    面向对象
    对象
    博客园添加鼠标点击特效
    正则表达式
  • 原文地址:https://www.cnblogs.com/alex3174/p/11586064.html
Copyright © 2011-2022 走看看