Django[基础知识]

Python功能最全的WEB框架:Django,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。

使用Django需进行以下操作:

1、创建Django项目,创建方式有两种。

a、命令操作:

django-admin startproject  dg_web   //dg_web为项目名称

b、直接在开发环境IDE下进行新建django项目

创建项目之后的文件目录如下:

2、在创建的项目下建立功能程序,操作如下:

命令行:python manage.py startapp app01  //创建功能程序app01,创建多个则把app01换成新程序即可

3、初始化数据库,django本身admin使用的数据为sqlite3,初始化数据库命令步骤如下:

a、python manage.py makemigrations      //生成配置文件

b、python manage.py migrate                 //根据配置文件生成数据库相关内容

4、如果app01需要创建自己的数据库表,则需先在models文件里创建生成表的类,再执行第3步操作。

a、例:models文件添加一个用户信息的类:

from django.db import models

# Create your models here.

class UserInfo(models.Model):
    username = models.CharField(max_length=16)     #建立username字段
    password = models.CharField(max_length=16)     #建立password字段
    age = models.IntegerField()                    #建立age字段

b、在全局配置文件settings里把app01添加如下图位置:
          

c、执行第3步:

I、python manage.py makemigrations      //生成配置文件,如图会创建0001_initial.py文件

II、python manage.py migrate                 //根据配置文件生成数据库相关内容,可以通过工具连接sqlite3查看新建的UserInfo表信息了,如图:



Django[基础知识]

时间: 2024-10-07 02:01:39

Django[基础知识]的相关文章

Django基础知识二

别名 url views 写一个对应的reg函数,这个函数进来第一件事应该是给客户端返回一个页面. 所以先写一个Html 这个action写的是/reg/ 然后继续写函数 之所以上面的action处直接写/reg/可以使用,不用写上具体的ip+port是因为 当客户点击submit的时候,浏览器会将前面的Ip和端口自动补全,这个ip和端口是服务器提供的. ======================================= 别名这个操作是在url里写的. 因为url里的地址和html里

django基础知识笔记

1,urls中name设置使用  表单提交的时候url更改了.模板不用更改 url=Reg from django.conf.urls import url,includefrom django.contrib import adminfrom app01 import viewsurlpatterns = [ url(r'^admin/', admin.site.urls), # url(r'app01/',include('app01.urls')), url(r'reg',views.re

django基础知识之分页:

分页 Django提供了一些类实现管理数据分页,这些类位于django/core/paginator.py中 Paginator对象 Paginator(列表,int):返回分页对象,参数为列表数据,每面数据的条数 属性 count:对象总数 num_pages:页面总数 page_range:页码列表,从1开始,例如[1, 2, 3, 4] 方法 page(num):下标以1开始,如果提供的页码不存在,抛出InvalidPage异常 异常exception InvalidPage:当向page

django基础知识之上传图片:

上传图片 当Django在处理文件上传的时候,文件数据被保存在request.FILES FILES中的每个键为<input type="file" name="" />中的name 注意:FILES只有在请求的方法为POST 且提交的<form>带有enctype="multipart/form-data" 的情况下才会包含数据.否则,FILES 将为一个空的类似于字典的对象 使用模型处理上传文件:将属性定义成model

django基础知识之URLconf:

URLconf 在settings.py文件中通过ROOT_URLCONF指定根级url的配置 urlpatterns是一个url()实例的列表 一个url()对象包括: 正则表达式 视图函数 名称name 编写URLconf的注意: 若要从url中捕获一个值,需要在它周围设置一对圆括号 不需要添加一个前导的反斜杠,如应该写作'test/',而不应该写作'/test/' 每个正则表达式前面的r表示字符串不转义 请求的url被看做是一个普通的python字符串,进行匹配时不包括get或post请求

django基础知识之状态保持session:

状态保持 http协议是无状态的:每次请求都是一次新的请求,不会记得之前通信的状态 客户端与服务器端的一次通信,就是一次会话 实现状态保持的方式:在客户端或服务器端存储与会话有关的数据 存储方式包括cookie.session,会话一般指session对象 使用cookie,所有数据存储在客户端,注意不要存储敏感信息 推荐使用sesison方式,所有数据存储在服务器端,在客户端cookie中存储session_id 状态保持的目的是在一段时间内跟踪请求者的状态,可以实现跨页面访问当前请求者的数据

django基础知识之模板:

模板介绍 作为Web框架,Django提供了模板,可以很便利的动态生成HTML 模版系统致力于表达外观,而不是程序逻辑 模板的设计实现了业务逻辑(view)与显示内容(template)的分离,一个视图可以使用任意一个模板,一个模板可以供多个视图使用 模板包含 HTML的静态部分 动态插入内容部分 Django模板语言,简写DTL,定义在django.template包中 由startproject命令生成的settings.py定义关于模板的值: DIRS定义了一个目录列表,模板引擎按列表顺序

django基础知识之模板继承:

模板继承 模板继承可以减少页面内容的重复定义,实现页面内容的重用 典型应用:网站的头部.尾部是一样的,这些内容可以定义在父模板中,子模板不需要重复定义 block标签:在父模板中预留区域,在子模板中填充 extends继承:继承,写在模板文件的第一行 定义父模板base.html { %block block_name%} 这里可以定义默认值 如果不定义默认值,则表示空字符串 { %endblock%} 定义子模板index.html { % extends "base.html" %

django基础知识之中间件:

中间件 是一个轻量级.底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出 激活:添加到Django配置文件中的MIDDLEWARE_CLASSES元组中 每个中间件组件是一个独立的Python类,可以定义下面方法中的一个或多个 _init _:无需任何参数,服务器响应第一个请求的时候调用一次,用于确定是否启用当前中间件 process_request(request):执行视图之前被调用,在每个请求上调用,返回None或HttpResponse对象 proce