• Day058--django--app


     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
        
     
     
    ` 固定前缀
    $ 固定后缀
       
       
       
       
  • 相关阅读:
    FPGA-中值滤波
    FPGA-中值滤波
    FPGA-shift_ram代码
    FPGA实现-shift_ram_3x3矩阵实现
    图像处理-中值滤波
    python-str
    ignore-certificate-errors(chrome)
    selenium-python-Cookie跳过登录验证码
    Angular2
    Angular2
  • 原文地址:https://www.cnblogs.com/surasun/p/10028557.html
Copyright © 2020-2023  润新知