Django教程

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知识的可以点击关注,有空会继续给大家更新的!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值