Django教程
首先Django是python中一个重要的web框架,想要做web开发就一定要会Django、Flask和Tornado其中之一,因为目前最火的就是这三个框架,在用python开发web的公司也是优先招收熟练使用这三个框架的开发人员,不多说了有疑问的自行百度咱们进入正题
首先太基础的咱就不说了可以去官网查看。
官网地址https://docs.djangoproject.com/en/2.1/
先来一个Django创建项目后的目录结构吧:
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
下面说一下settings这个项目配置文件中的个别代码功能:
DEBUG: # 功能:打开或关闭错误信息显示
ALLOWED_HOST: # 功能:允许哪些域名访问项目
INSTALLED_APP: # 功能:添加app到项目
MIDDLEWARE: # 功能:添加或删除项目中间键
TEMPLATES: # 功能:DIRS可以设置指定路径
WSGI_APPLICATION # 功能:应用程序网关接口
DATABASES # 功能:数据库设置
AUTH_PASSWORD_VALIDATORS # 功能:自动加载密码控件验证器
STATIC_URL : # 设置静态文件路径
APP文件/urls.py(路由配置):
1. path用法:
1.第一个必传参数:route表示要匹配的路径,不包含域名及域名参数
2.第二个必传参数:view表示匹配的链接指定的视图函数
3.第三个可传参数:kwargs
4.第四个可传参数:给该path起名
2. app_name给当前urlconfig起个名,供软连接使用
models.py 功能:创建数据库表
1.每创建一个表就创建一个类class name(models.Model)
2.字段field:
1.CharField字符串字段有一个必传参数max_length
2.IntegerField 数字字段
3.DateTimeField 时间字段
4.ForeignKey 一对多关联字段,有两个必传参数,要关联的表名和
on_dalete on_dalete=models,CASCADE 联系删除关系
on_delete=models.SET_NULL如果主键删除该字段设为null值,
同时要加入可选参数null=True ,blank=True
3.field的可选参数:
1.null=False 可以为空
2.blank=False 可以空格
3.nique=False 字段内容唯一
4.default 设置默认值
数据的增删改:
1.增
>>> q=Question(question_text="how are you doing?", pub_date=timezone.now())
>>> q.save()
>>> q=Question.objects.create(question_text="how are you doing?", pub_date=timezone.now()) # 次方法不用save()直接保存到数据库
2.删 del
3.改
>>> q=Question.objects.get(pk=1)>>>q.question_text="What's happened to you?" # 注意:obj调用字段属性,直接赋值
4.查
1). >>> q=Question.objects.get(pk=1)>>>q1=Question.objects.get(question_text="how are you doing?") # 注意:返回一个确定的对象,如果返回结果没有或者不是唯一,则报错
2). >>> q=Question.objects.filter(pk=1)
>>> q1=Question.objects.filter(question_text__startswith="how are") # 注意:返回一个Queryset类型(一个查询结果集合,每个元素是一个对象,类似列表),不报错,没结果是Queryset为空
3). >>> Question.objects.order_by("-pk")
模板渲染:
Django要在项目的APP中创建两个文件夹
一个是templates,用来放置模板(html文件)
templates下的目录结构
templates/
APPname(APP名字的文件夹)/
html文件
一个是static,用来放置模板样式(CSS、JS、image等样式文件)
static下的目录结构
static/
APPname(APP名字的文件夹)/
CSS、JS、image等样式文件
后台数据渲染前台的语法:
1.{{foo.bar}} # bar表示foo的属性,如果bar在这之前是一个变量,这里无效就是单纯的表示foo的bar属性
2.{{forloop.counter}} # 表示当前循环的次数
3.{% load static %} # 在html中载入静态文件必须有的标签
<img src='{% static 图片路径 %}' />
<link rel="stylesheet" type="text/css" href="{% static 'polls/style.css' %}" />
4.{% csrf_token %} # 提交表单时必加
5.<li>< a href=" 'detail' question.id %}">{{question.question_text }}</ a></li> # 软连接
6.注意事项:在渲染时索引用点(“.”)加索引位置
好了目前就写这么多吧,想看更多关于Django和Python知识的可以点击关注,有空会继续给大家更新的!