Django

Posted dingyutao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django相关的知识,希望对你有一定的参考价值。

from表单提交的注意事项:
    1.form不是from,必须要有active,method
    2.所有获取用户输入的表单都要放在form表单里面,表单标签必须要有 
       name属性
    3.form表单必须要有submit按钮
request.method -----获取用户提交的请求方法(get/post)

request.POST  -------获取POST提交过来的全部数据(字典形式)

基础必会3件套
    1. HttpResponse(‘OK‘)
    2. render(request,‘login.html‘)
    3.redirect(‘URL‘)

配置数据库(mysql为例)

如果你不是使用默认的SQLite数据库,那么一些诸如USER,PASSWORD和HOST的参数必须手动指定!下面给出一个基于pymysql操作Mysql数据库的例子

DATABASES = {
    default: {
        ENGINE: django.db.backends.mysql,
        NAME: mysite,
        HOST: 192.168.1.1,
        USER: root,
        PASSWORD: pwd,
        PORT: 3306,
    }
}

另外在当前根mysite的__init__里面添加一下内容,用来告诉Django该用那个数据库来链接
import pymysql         
pymysql.install_as_MySQLdb()

setting环境设置

在修改settings文件时,请顺便将TIME_ZONE设置为国内所在的时区Asia/Shanghai。
要将应用添加到项目中,需要在INSTALLED_APPS设置中增加指向该应用的配置文件的链接,
官方推荐格式:xxx.apps.PollsConfig
也可以简写成:xxx
默认情况,INSTALLED_APPS中会自动包含下列条目,它们都是Django自动生成的: django.contrib.admin:admin管理后台站点 django.contrib.auth:身份认证系统 django.contrib.contenttypes:内容类型框架 django.contrib.sessions:会话框架 django.contrib.messages:消息框架 django.contrib.staticfiles:静态文件管理框架

 

创建数据库

Django中通过用ORM来将数据库和python对象联系起来,将程序员与Mysql解耦,所以我们只需要按照ORM的规则创建特定的类就可以直接生成数据库中的表

注意:
在使用非SQLite的数据库时,请务必预先在数据库管理系统的提示符交互模式下创建数据库,你可以使用命令:“CREATE DATABASE database_name;”。Django不会自动帮你做这一步工作。

创建内之后将python代码和数据库联系起来还需要一下操作:
运行python manage.py makemigrations为改动创建迁移记录;
运行python manage.py migrate,将操作同步到数据库。


  • 实际的输出内容将取决于您使用的数据库会有所不同。
  • 表名是自动生成的,通过组合应用名 (polls) 和小写的模型名questionchoice 。 ( 你可以重写此行为。)
  • 主键 (IDs) 是自动添加的。( 你也可以重写此行为。)
  • 按照惯例,Django 会在外键字段名上附加 "_id" 。 (你仍然可以重写此行为。)
  • 生成SQL语句时针对你所使用的数据库,会为你自动处理特定于数据库的字段,例如 auto_increment (MySQL), serial (PostgreSQL), 或integer primary key (SQLite) 。 在引用字段名时也是如此 – 比如使用双引号或单引号。
  • 这些SQL命令并没有在你的数据库中实际运行,它只是在屏幕上显示出来,以便让你了解Django真正执行的是什么。

可以运行python manage.py check命令,它将检查项目中的错误,并不实际进行迁移或者链接数据库的操作

 







以上是关于Django的主要内容,如果未能解决你的问题,请参考以下文章

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段

Django REST框架--认证和权限

如何在 Django 中显式重置模板片段缓存?

使用 Django 模板作为片段

python 通过django片段很多很多

JavaScript 片段在 Django 模板中不起作用