1. 完整的登录示例
  
  form表单使用的注意事项:
   1. action="" method="post"     action 提交的地址  method 请求的方式
   2. input标签要有name属性
   3. 有一个input的类型是sumbit  或者 button按钮
  
  注释掉settings.py中的MIDDLEWARE中的'django.middleware.csrf.CsrfViewMiddleware'
  就可以提交post请求, 否则出现403拒绝访问
  
  GET和POST的区别:
   1. GET  获取一个页面
    login/?user=alex&pwd=alexdsb
    在Django中获取数据
     request.GET  {}  
     request.GET['user']
     request.GET.get('user')
     
   2. POST   提交数据
    数据不可见 请求体中
    在Django中获取数据
     request.POST  {}
     request.POST['user']
     request.POST.get('user') 
 
HttpResponse
render
redirect
 
     
  重定向:
   redirect('http://www.baidu.com' )    

如果/index/ 的前面没有加/ ,则url叠加, /代表根    返回location的响应头

   

2. APP
      项目    老男孩
   APP     python学院  linux学院
  
  创建APP
   1. 命令行:
    python manage.py startapp app名称
    
   2. pycharm
    tools  run manage.py task 
    startapp app名称

注册app
   INSTALLED_APPS 列表中添加
       'app01',
    'app01.apps.App01Config'  # 推荐写法
  

 把函数都写在app中的views中

  删除app

'''
You need to remove or check the following: 1. Remove the app from INSTALLED_APPS.
2. Remove any database tables for the models in that app (see app_name_model_name in your database).
3. Check for any imports in other apps (it could be that they're importing code from that app).
4. Check templates if they are using any template tags of that app (which would produce errors if that app is no longer there).
5. Check your settings file to see if you're not using any code from that app (such as a context processor in your_app/context_processors.py, if it has such as file).
6. Check if any static content of the app is used in other apps.
7. Remove the app directory entirely.
When you've been following proper coding principles (i.e., each Django app is a self-contained part of the web application) then most situations above won't occur.
But when other apps do use some parts of that app, you need to check that first as it may require refactoring before deleting the app. This answer refers to https://stackoverflow.com/questions/11382734/how-to-delete-an-app-from-a-django-project.
'''

3. ORM介绍和使用   Object Relational Mapping 对象关系映射
 
  1. 使用mysql数据的步骤:
   1. 创建mysql数据库
   2. 在settings.py 中配置
    DATABASES = {
     'default': {
      'ENGINE': 'django.db.backends.mysql',
      'NAME': 'day58',
      'HOST': '127.0.0.1',
      'PORT': 3306,
      'USER': 'root',
      'PASSWORD': '',

     }
    }
   3. 告诉Django使用pymysql模块连接mysql数据库
    在与settings.py同级目录下的__init__.py中写代码:
     import pymysql
     pymysql.install_as_MySQLdb()
     
   4. 在models.py中写类(models.Model):
    class User(models.Model):
       name = models.CharField(max_length=32)
       pwd = models.CharField(max_length=32)
 
    # def __str__(self):
      # return self.name
    
   5. 执行数据量迁移的命令行:
    python manage.py  makemigrations   # 把models.py的变更记录记录下来
    python manage.py  migrate     # 把变更记录的操作同步到数据库中
 
  如果tools-run manage.py task  直接输入 makemigrations  ->  migrate
    

2. ORM的操作:       
   1. all  获取所有数据
    
    models.User.objects.all()   ——》 对象列表
    
   2. get  获取某一条数据(没有或者是多个的时候报错)
    models.User.objects.get(name='alex')   ——》 对象
    
   3. filter  获取满足条件的所有的对象
   
    models.User.objects.filter(name='alex',pwd='1') ——》 对象列表
    
   4.  obj.name   name字段的值
    obj.pwd   pwd字段的值
    obj.id  obj.pk
    

 
 
` 固定前缀
$ 固定后缀
   
   
   
   

Day058--django--app的更多相关文章

  1. Python-Django 第一个Django app

    第一个Django app   by:授客 QQ:1033553122 测试环境: Python版本:python-3.4.0.amd64 下载地址:https://www.python.org/do ...

  2. Django APP打包重用

    引言 有时候,我们需要将自己写的app分发(dist)给同事,分享给朋友,或者在互联网上发布,这都需要打包.分发我们的app. Django的子系统重用是基于app级别的.也就是一个项目可以包含多个互 ...

  3. Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第一部分(Page 6)

    编写你的第一个 Django app,第一部分(Page 6)转载请注明链接地址 Django 2.0.1 官方文档翻译: Django 2.0.1.dev20171223092829 documen ...

  4. Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第七部分(Page 12)

    编写你的第一个 Django app,第七部分(Page 12)转载请注明链接地址 本节教程承接第六部分(page 11)的教程.我们继续开发 web-poll应用,并专注于自定义django的自动生 ...

  5. Django 2.0.1 官方文档翻译:编写你的第一个 Django app,第六部分(Page 11)

    编写你的第一个 Django app,第六部分(Page 11)转载请注明链接地址 本教程上接前面第五部分的教程.我们构建了一个经过测试的 web-poll应用,现在我们会添加一个样式表和一张图片. ...

  6. Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第五部分(Page 10)

    编写你的第一个 Django app,第五部分(Page 10)转载请注明链接地址 我们继续建设我们的 Web-poll 应用,本节我们会为它创建一些自动测试. 介绍自动测试 什么是自动测试 测试是简 ...

  7. Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第四部分(Page 9)

    编写你的第一个 Django app,第四部分(Page 9)转载请注明链接地址 该教程上接前面的第三部分.我们会继续开发 web-poll 应用,并专注于简单的表单处理和简化代码. 写一个简单的表单 ...

  8. Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第二部分(Page 7)

    编写你的第一个 Django app,第二部分(Page 7)转载请注明链接地址 本教程上接前面的教程.我们会配置数据,创建你的第一个 model,并对Django 自动生成的 admin 站点进行快 ...

  9. Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第三部分(Page 8)

    编写你的第一个 Django app,第三部分(Page 8)转载请注明链接地址 本页教程接前面的第二部分.我们继续开发 web-poll app,我们会专注于创建公共接口上 -- "视图& ...

  10. [python][django学习篇][2]创建django app

    推荐学校django博客:http://pythonzh.cn/post/8/ django app 可以理解为一个文件夹: 里面包含了相关功能的代码.通过manage.py来创建 web app 激 ...

随机推荐

  1. vue 单文件组件中样式加载

    在写单文件组件时,一般都是把标签.脚本.样式写到一起,这样写个人感觉有点不够简洁,所以就想着把样式分离出去. 采用import加载样式 在局部作用域(scoped)采用@import加载进来的样式文件 ...

  2. solr8.0的简单搭建(一)

    第一步,下载solr 进入solr官网进行下载:http://lucene.apache.org/solr/ 第二步: 将解压的solr放到自己指定的文件夹 第三步: 由于solr有自带服务器,所以可 ...

  3. go语言打造p2p网络

    传送门: 柏链项目学院 就像1000个人眼中有1000个哈姆雷特一样,每个人眼中的区块链也是不一样的!作为技术人员眼中的区块链就是将各种技术的融合,包括密码学,p2p网络,分布式共识机制以及博弈论等. ...

  4. 前端之BOM

    老师的博客:https://www.cnblogs.com/liwenzhou/p/8011504.html BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScr ...

  5. 服务消费者Feign和Ribbon的区别

    1.Ribbon通过注解@EnableEurekaClient/@EnableDiscoveryClient向服务中心注册:    PS:选用的注册中心是eureka,那么就推荐@EnableEure ...

  6. python接口自动化-post请求3

    一.SSL 证书 https 的请求相对于http安全级别高,需要验证SSL证书import urllib3 使用这个方法就可以了urllib3.disable_warnings() 可忽略警告 二. ...

  7. vue笔记未整理

    全局组件 局部组件 子组件传值到父组件 父子组件传值 watch跟计算属性差不多,都会有缓存,计算属性优先 计算属性get set 对象 数组 对象 数组 不复用 改变数组 直接修改数组,页面没变化 ...

  8. MySQL 常用语句总结

    用一个表更新另一个表 UPDATE table1 t1, table2 t2 SET t1.field1 = t2.field1, t1.field2 = t2.field2 WHERE t1.fie ...

  9. 《JavaScript设计模式与开发实践》笔记第八章 发布-订阅模式

    第八章 发布-订阅模式 发布-订阅模式描述 发布-订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知. 发布-订阅模式可以广泛应用于 ...

  10. Python selenium —— 一定要会用selenium的等待,三种等待方式解读

    发现太多人不会用等待了,博主今天实在是忍不住要给大家讲讲等待的必要性. 很多人在群里问,这个下拉框定位不到.那个弹出框定位不到…各种定位不到,其实大多数情况下就是两种问题:1 有frame,2 没有加 ...