Django第二天

1 django中app的概念:
 大学:----------------- 项目
  信息学院 ----------app01
  物理学院-----------app02
 ****强调***:创建了app,要在配置文件中注册
  ...
2 模板路径配置:
 1 templates文件夹
 2 settings里注册一下
  
3 静态文件配置:
 1 STATIC_URL = '/static/'    一般不要改
 2 创建一个static文件夹       一般不要改
 3 STATICFILES_DIRS=[
  os.path.join(BASE_DIR, 'static'),  创建的文件夹路径(可以写多个)
  ]
 
4 完整版登录功能
 1 login.html 
  ***重点***1 action:提交到后台的地址三种写法:
    1 http://127.0.0.1:8000/login
    2 /login/   推荐用
    3 空
     2 method  post方式
     3 <input type="submit" value="提交">或<button></button>
    type不可以是button
     <form action="http://127.0.0.1:8000/login" method="post">
   <p>用户名:<input type="text" name="name" class="form-control"></p>
   <p >
    密码:<input type="password" name="pwd" class="form-control">
   </p>
   <input type="submit" value="提交">
  </form>
 2 视图层:
  1 request.method  ----前台提交过来请求的方式
  2 request.POST(相当于字典)----post形式提交过来的数据,(http请求报文的请求体重)
  3 request.POST.get('name') ----推荐用get取值(取出列表最后一个值)
  4 request.POST.getlist('name')-----取出列表所有的值_
  5 前台get方式提交的数据,从request.GET字典里取
 3 链接数据库(防止注入,推荐以下写法)
  cur.execute('select * from user where name=%s and password=%s ',[name,pwd])
 
5 get请求和post请求
 get:获取数据,页面,携带数据是不重要的数据(数据量有大小限制)
 post:往后台提交数据 
6 新手三件套总结
 1 render--返回页面
  默认会去templates里找,注意路径
 2 redirect--重定向
 3 HttpResponse
 本质:都是返回HttpResponse的对象
7 pycharm连接mysql
 
8 orm介绍
 1 ORM即Object Relational Mapping,全称对象关系映射。
 优点:
  1 不用写sql,不会sql的人也可以写程序
  2 开发效率高
 2 缺点:
  1 可能sql的效率低
 3 如何使用:
  如果连接mysql:在setting里配置:
      'default': {
    'ENGINE': 'django.db.backends.mysql',
    'HOST': '127.0.0.1',
    'PORT': 3306,
    'USER': 'root',
    'PASSWORD': 'admin',
    'NAME': 'lqz',
   }
  在app下的__init__.py里写:
  import pymysql
  pymysql.install_as_MySQLdb()
 
 4 django-orm:
  1 不能创建数据库(需要手动创建数据库)
  2 可以创建数据表
  3 可以创建字段
  
 5 数据库迁移
  1 python3 manage.py makemigrations   ----记录一下数据库的变化
  2 python3 manage.py migrate          ----将变化同步到数据库中
  
 
9 orm创建表
原文地址:https://www.cnblogs.com/AllenZhou/p/9916571.html