第一天重温之路
清华大学 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
一些视图函数的
网友评论