Django的一些基本配置

1 Django的安装:

可以使用pip也可以是用pycharm安装

1 pip install django==1.1.9(版本号自己指定)

2 pycharm安装

Django的一些基本配置

 这里指定安装源,最好切换到国内

Django的一些基本配置

创建django项目:

可以使用命令行创建,也可以使用pycharm创建

1 命令行创建

     django-admin startproject 项目名称   

    如果报错 python中的script文件夹的路径配置环境变量中的基本配置,因为此文件夹下存在django-admin.py文件

  2 pycharm创建:  

     File--new project--django---然后选择python解释器

Django的一些基本配置

目录结构说明:

Django的一些基本配置

Setting django项目的配置文件

Urls 是指定路径和函数(django中叫视图)的对应关系

Wsgi  负责socket通讯

4 基本使用:

Django的一些基本配置

       urls.py中的urlpatterns列表,根据请求首行中的路径和接口做一个对应(映射)关系,一个http请求中含有请求首行,请求头,请求体,也就是接口地址中

      HttpResponse 指定回复http协议,且返回的是一个字符串

启动django项目:

可以使用命令行启动也可以使用pycharm启动

1 命令行启动:

  cdmanage.py文件所在目录,然后python manage.py runserver ip:port

  2 pycharm启动:

  Django的一些基本配置

templete配置:

Django的一些基本配置

 Django的一些基本配置

导入render 用于返回文件Django的一些基本配置

Django的一些基本配置

 这里 ‘xxx/one.html‘  其实django会根据你配置的templete路径下查找

 

static配置:

Django的一些基本配置

    然后在html文件引入的时候 将static的路径配上就行了

创建app项目:

  可以理解为app就是其中一个应用或者子系统

  

创建命令---》python manage.py startapp app_name 

Django的一些基本配置

   app目录说明:

  1 migrations    数据库 表相关

  2 apps         app配置相关

  3 models       字段检查相关

  4 tests         测试相关

  5 views         app  视图函数相关

  在django中创建完app之后要在django中注册,让django知道app在哪里

Django的一些基本配置

 Django的一些基本配置

django中的orm:

Python语法 自动翻译成 sql语句,为什么会有这个呢?因为程序员写sql水平层次不齐,所以有的人写出来的sql效率就比较低。

    这个有点像js和jQuery的关系

Jquery

DOM

$(‘#d1’)

 document.getElementById(‘d1’)

django默认的是sqlite数据库,我们要切换到mysql数据库,下面是配置。当然如果你使用的python3首先要安装pymysql

pip install pymysql

Django的一些基本配置

然后在app下的__init__.py中做些变更,实际就是告诉django,更改数据库默认配置为pymysql,替换掉mysqldb

Django的一些基本配置

相关app下的models.py中创建 相关表和字段

Django的一些基本配置

类名就是表名,里边的字段就是表中的字段

命令行创建表

Python manage.py makemigrations  

相当于记录了models文件中的操作可以在migrations中看到 此时有2条记录只要以后改变了表中的代码 就必须先执行此命令

Django的一些基本配置

Python manage.py meigrate

这一步才是真正的执行

Django的一些基本配置

如果要进行删除表操作 只需要在model.py文件中注释掉或者删掉代码,然后重复执行以上两句命令Django的一些基本配置

 Django的一些基本配置

pycharm连接mysql数据库:

Django的一些基本配置

默认下载驱动 测试连接如果失败 检查 你的账号登录地址 mysql中看下mysql库下的-use表中看下 有没有限制ip登录 或则 驱动不匹配

mysql中 下载,默认下载最新的

有可以 手动指定版本

Django的一些基本配置

 Django的一些基本配置

在弹出的框中可以直接写sql

Django的一些基本配置

 Django的一些基本配置

Pycharm 录入快捷键

Django的一些基本配置

简单的从mysql 数据库取值

Orm  filter get的区别

Get 返回的是一个modles的对象 但是入参只能是主键唯一或者 索引唯一的参数 如果不唯一 则报错

Filter 则没有这样的要求 返回的是一个queryset 类似与列表  可以配合 first()  使用 这样就能使用save等方法

坑:

1 模板语法 的坑

描述:

我希望修改出版社的名称  同时在修改出版社名称的页面,希望能将出版社的就名字带出来 就在模板语法中使用了 name={{book.name}}进行传参 但是发现 在使用 name取值的时候是空  后来经过排查 是模板语法 如果只传一个值  浏览器将name 键名直接改成了id  后来   改成

name={{ book.name }}&id={{ book.id }}    就可以了

Django的一些基本配置

也可以 直接传id   然后函数中使用orm   通过id 查值 后返回一个对象使用render传给页面  页面在使用 name 键  取值也可以

2 Orm 使用fifter  返回的是个queryset 列表 需要使用索引取值   

    另外orm  update  直接通过orm对象 赋值就可以额