重温django

作者: ItBeacher | 来源:发表于2019-05-14 01:15 被阅读5次

    第一天重温之路

    清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/

    下载快-ihttps://pypi.tuna.tsinghua.edu.cn/simple/

    1, 创建项⽬

    ⽬的: 能够通过django的命令创建⼯程

    过程:

        1, 进⼊到虚拟环境 workon 虚拟环境名称

        2,创建项⽬:  django-admin startproject (项目名称)

        3,进⼊到manage.py所在的⽂件夹中 使用cd 来切换

        4,启动项⽬: python manage.py runserver

    注意点:

    如果不指定,django默认的端⼝8000

    也可以指定: python manage.py runserver ip:port

        注意:port是端口号

    2,创建⼦应⽤

    ⽬的: 能够使⽤djanog中的命令来创建⼦应⽤

    过程:

        1, 进⼊到manage.py所在的同级⽂件中

        2, 创建⼦应⽤:

    python manage.py startapp user(子应用名字)

    然后注册安装子应用的就是将子应用的配置文件apps.py 中的Config类添加到INSTALLED_APPS列表内

    user.apps.UserConfig,

    3hello Word程序来袭(打开Django大门)

    第⼀个helloworld程序[掌握]

    ⽬的: 能够在⼦应⽤中编写视图函数helloworld

    过程:

    1, 在views⽂件中编写视图函数

    def hello_word(requst):

        return HttpResponse("hello word")

    2,创建urls.py⽂件,编写⼦应⽤路由

    urlpatterns=[

                url(r'^hello_word/$',views.hello_word),

    ]

    3,将⼦应⽤的路由,注册到根应⽤的urls中

    urlpatterns=[

                url(r'^/$',views.hello_word),

    ]

    注意点:

    只要提供了⼦应⽤路径, django不在提供默认的根路径

    4,项⽬的配置(settings.py⽂件)

    ⽬的: 知道常⻅的配置作⽤即可

    常⻅的配置有:

        BASE_DIR: 项⽬在操作系统中的绝对路径

        DEBUG: 调试默认,默认是True

        LANGUAGE_CODE: zh-hans中⽂

        TIME_ZONE: Asia/Shanghai中国时间

    注意点:

        settings.py表示项⽬运⾏的配置项(调试模式,mysql,redis,session...等

    5,静态资源访问

    ⽬的: 在django中如何配置静态⽂件的访问地址和⽂件夹

    配置:

    STATIC_URL: 静态资源的访问路径,默认是/static/

    STATICFILES_DIRS: 静态资源的⽂件夹位置,并且是⼀个列表

    注意点:

    STATICFILES_DIRS,是⼀个列表,寻找⽂件的时候,从前向后依次寻找,找不

    到报404错误

    6.路由参数名设置:

        目的:能够在地址中编写正则匹配参数

        过程 :

            格式1  不指定正则匹配的名字/hello/([a-z]+)/(\d+)

                按照顺序依次匹配,传递参数

            格式2指定了正则的名字:/hello/(?P[a-z]+)/(?P

    \d+)

                按照名字来匹配,传递参数

    7.reverse

        目的:能够通过函数的名字,找到对应的路径

        格式1:没有指定子应用的namespce,必须指定视图函数的name

            reserve("name")

        格式2:指定子应用的namespace,必须指定视图函数的name(建议使用)

            reserve(namespace:name")

        注意点:reverse:称为泛解析,通过namespace或者name得到视图函数的路径

    8 查询参数

        目的:通过request对象获取查询参数

        过程:

            request.GET:是个字典

            request.GET.get(key)获取单个key.value

            request.GET.getlist(key)获取单个key对应多个value得到list列表   

    9非查询参数

        目的:获取 request获取表单,非表单数据

    其他属性:

        通过request对象获取请求方式请求cookie 请求用户等信息在user/views.py

    #非查询字符

    def not_query_params(request):

        # 表单提交

        # name=request.POST.get("name")

        # age=request.POST.get('age')

        # print(name,age)

        js=request.body

        js=js.decode()

        js=json.loads(js)#将json将转化为字典

        print(js)

        return HttpResponse("隔壁老王在练腰")

    写同时到urls.py 写注册路径

    url(r'^not_query_params/$',views.not_query_params)

    表单提交被crsf保护,要去注释

    MIDDLEWARE = [

        'django.middleware.security.SecurityMiddleware',

        'django.contrib.sessions.middleware.SessionMiddleware',

    'django.middleware.common.CommonMiddleware',

        # 'django.middleware.csrf.CsrfViewMiddleware',#csrf

        'django.contrib.auth.middleware.AuthenticationMiddleware',

        'django.contrib.messages.middleware.MessageMiddleware',

        'django.middleware.clickjacking.XFrameOptionsMiddleware',

    ]

    如果是ajax发的请求,得用request.body但是获取是 字节类型必须解码decode(),然后导入json模块,json.loads()获取到字典

        request.method

        request.users

        request.COOKIES

    响应

        目的:需要了解Django中的常见的响应对象,能够设置响应json

    一些视图函数的

    相关文章

      网友评论

        本文标题:重温django

        本文链接:https://www.haomeiwen.com/subject/sutjaqtx.html