DJANGO_PART 1
文章目录
1. 安装DJANGO
安装语句:pip install django
2. 创建项目
-  终端创建 - 打开终端,进入某个目录(项目的地址)
- 执行命令创建项目:startproject ProjectName(如果已加入环境系统环境变量:django-admin startproject ProjectName)
 
-  PyCharm创建 -  注意: 
-  选择项目目录(项目存放的地址,不是python安装的地址) 
-  命令行创建的项目是标准的;pycharm在标准的基础上默认添加了: -  templates目录(暂时不需要,可删除) 
-  settings.py添加了一句(暂时不需要,可删除):  
 
-  
 
-  
-  默认项目的文件介绍  - manage.py(项目的管理,启动项目、创建app、数据管理,一般不用动)
- djangoLearning(与项目文件同名的文件夹) 
    - __ init __.py
- settings.py(项目配置)
- urls.py(url和函数的对应关系)
- asgi.py(默认,接收网络请求,一般不用动)
- wsgi.py(默认,接收网络请求,一般不用动)
 
 
3. APP概念
一个项目往往有多个app,也可只有一个app
-  APP的创建:python manage.py startapp AppName 
-  APP默认文件结构  - migrations(固定,一般不用动)(数据库变更记录) 
    - __ init __.py(固定,一般不用动)
 
- __ init __.py
- admin.py(固定,一般不用动)(django默认提供了admin后台管理)
- apps.py(固定,一般不用动)(app启动类)
- models.py(对数据库进行操作)
- tests.py(固定,一般不用动)(单元测试)
- views.py(一般在这里调用函数)
 
- migrations(固定,一般不用动)(数据库变更记录) 
    
4. 快速上手
-  确保app已注册  
-  编写url和视图函数对应关系  
-  编写视图函数  
-  启动项目 -  命令行启动:python manage.py runserver 
-  pycharm启动:   
-  打开链接:  
-  再写一个页面:    
 
-  
5. templates
-  引入静态html页面    
-  注意 - 优先去项目根目录的templates中寻找html文件(必须要提前先配置,不配置没有用)
- 根据app的注册顺序,在每个app下的templates目录中寻找
 
6. 引入其它静态文件
在开发过程中一般将图片、css、js、都当作静态文件处理
-  static目录:在app目录下创建static文件夹  
-  引用静态文件   
7. 模板语法
本质上就是:在HTML中写一些占位符,由数据对这些占位符进行替换和处理
-  字符串   
-  列表 -  显示列表的单个元素: <div> {{ list.1 }} </div>
-  遍历列表: <div> {% for item in list %} <span>{{ item }}</span> {% endfor %} </div>
   
-  
-  字典 -  显示整个字典: <div> {{ dict }} </div>
-  显示字典的某个元素: <div> <span>{{ dict.name }}</span> <span>{{ dict.age }}</span> <span>{{ dict.job }}</span> </div>
-  遍历字典: <div> {% for k, v in dict.items %} <span>{{ k }} : {{ v }}</span> {% endfor %} </div>
   
-  
-  模板语法也支持if语法 {% if dict.age == 18 %} <div>年龄为18岁</div> {% else %} <div>年龄不为18岁</div> {% endif %}  
8. 请求与响应
-  请求 # request是一个对象,封装了用户发送过来的所有请求相关的数据 # 获取请求方式:GET/POST print(request.method) # 在url上传递值:http://localhost:8000/reqTest/?name=ausgelebt&age=18 print(request.GET) # 在请求体中传递数据 print(request.POST)
-  响应 # (响应)HttpResponse("word"),字符串内容返回给请求者 # return HttpResponse("返回内容") # (响应)读取html的内容,并渲染/替换 # return render(request, 'index.html') # (响应)让浏览器重定向到其它的页面 return redirect('https://www.baidu.com')










