重温django

第一天重温之路

清华大学 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


一些视图函数的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立性)。软件设计中通常用耦合度和内聚...
    riverstation阅读 2,108评论 0 8
  • 点我查看本文集的说明及目录。 本项目相关内容包括: 实现过程: CH7 创建在线商店 CH8 管理支付和订单 CH...
    学以致用123阅读 3,786评论 0 6
  • # Django学习笔记 ![Django首页截图](images/django.jpg) ## 1. 安装 *~...
    jun4rui阅读 1,196评论 0 0
  • PythonWeb框架要点、Django介绍、工程搭建、配置、静态文件与路由 1.Python Web 框架要点 ...
    Cestine阅读 1,634评论 0 6
  • 这么多年来,我总结了一条经验,解决棘手问题的最上乘方法是:静观其变,顺水推舟。 ...
    阿甘1972阅读 3,789评论 0 0