新建APP

python manange.py startapp app_name

然后右键 pycharm 的项目目录,将新建的目录从服务器上下载进来

URL(Uniform Resoure Locator)统一资源定位符

格式:

http://127.0.0.1:8000/hello/

URL解释:

  schema://host[:port#]/path/.../[?query-string][#anchor]

  schema:指定使用的协议(例如:http,https,ftp)

  host:Http服务器的IP地址或者域名

  port:端口号,http默认是80端口

  path:访问资源的路径

  query-string:发送给http服务器的数据

  anchor:锚点

urls.py的作用

path('test/<xx>/', views.test)

前面的url匹配成功后就会调用后面的视图函数。

尖括号从url中捕获值,包含一个转化器类型(converter type)。

没有转化器,将匹配任意字符串,当然也包括了 / 字符。

注:<xx> 必须与视图函数的参数一致

例:def test(request, xx)

转换器:

str:匹配除了路径分隔符(/)之外的非空字符串,这是默认的形式

int:匹配正整数,包含0

slug:匹配字母、数字以及横杠、下划线组成的字符串

uuid:匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00

path:匹配任何非空字符串,包含了路径分隔符

re_path 正则匹配:

可使用正则的方法匹配

include 的作用:

一个 project 有一个棕的 urls.py ,各个 app 也可以自己建立自己的 urls.py

用 include() 函数在project的 urls.py 文件进行注册

例:

from django.urls import path, include

from . import views

urlpatterns = [

  path('book/', include('book.urls'))

]

此时 APP books 里面的 urls.py

from django.urls import path

from . import views

urlpatterns = [

  path('index/', views.index)

]

此时 APP books 里面的 views.py

from django.shortcuts import render

def index(request):

  return render(request, '这是 book 的首页')

kwargs 的作用:

不定长参数

如果在分 urls.py 添加了字典参数

path('book/',views.test, {‘switch’: 'true'})

views 下面的 test 函数形参需要额外增加一个 **kwargs

如果在使用了 include , 主 views 添加了 字典参数

其分之下所有函数形参都需要添加 **kwargs

name 的作用:

可以给 url 取名字,通过该名字找到对应 url,这样左的原因是防止 url 的规则更改,导致使用了该 url 的地方也要更改,但如去了名字,就不要做任何改动了。

APP books里的 urls.py

path('article_name/', views.article_new, name='new_article')

APP books 里的 views.py

from django.shortcuts import render, reverse, redirect

return redirect(reverse('new_article'))

注:redirect 是重定向(跳转), reverse 是将 url 的 name 解析成 url 本身的函数

templates 模板:

该模板可新建各个以 app 命名的目录存放各自 app 模板文件

然后在 setting.py 中的模板路径配置修改以下内容

TEMPLATES = [

  'DIRS': [os.path.join(BASE_DIR, 'templates')],

]

渲染模板(三种方法选一,皆需 import 导入才能使用):

1.直接将html字符串硬编码 HttpResponse 中

def index(request):

  return HttpResponse('<h1>Hello Django World!</h1>')

2. django.template.loader 定义了函数以加载模板

from django.template.loader import get_template

def index(request):

  t = get_template('book/index.html')

  html = t.render()

  return HttpResponse(html)

3.使用 render 进行渲染(建议此方法)

def index(request):

  return render(request, 'book/index.html')

Django 笔记(二) 新建 ~ 渲染的更多相关文章

  1. django笔记二之数据库

    django笔记二之数据库 [同步数据库之前的操作] yum install MySQL-python.x86_64 -y 2)开启数据库服务并创建表 创建数据库设置 为utf8: create da ...

  2. 【Django笔记二】Django2.0配置模板和静态文件

    一.环境版本信息: 操作系统:windows10 Django版本:2.0.5 Python版本:3.6.4 二.创建模板 1.在my_project文件夹下新建文件夹templates用于存放模板文 ...

  3. 微信小程序学习笔记二 列表渲染 + 条件渲染

    1. 列表渲染 1.1 wx:for 在组件上使用wx:for控制属性绑定一个数组, 即可使用数组中各项的数据重复渲染该组件 默认数组的当前项的下标变量名默认为 index, 数组当前项的变量名默认为 ...

  4. django笔记(二)

    Model many-to-many可以通过through来定义详细信息. 表结构: property django可以用F和Q来配合查找,F可以用于同一个model不同field之间进行比较,可以对 ...

  5. Django学习笔记二

    Django学习笔记二 模型类,字段,选项,查询,关联,聚合函数,管理器, 一 字段属性和选项 1.1 模型类属性命名限制 1)不能是python的保留关键字. 2)不允许使用连续的下划线,这是由dj ...

  6. Django开发笔记二

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.xadmin添加主题.修改标题页脚和收起左侧菜单 # ...

  7. DirectX11笔记(十二)--Direct3D渲染8--EFFECTS

    原文:DirectX11笔记(十二)--Direct3D渲染8--EFFECTS 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010333737 ...

  8. python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器

    python3.5 manage.py runserver python Django教程 之模板渲染.循环.条件判断.常用的标签.过滤器 一.Django模板渲染模板 1. 创建一个 zqxt_tm ...

  9. Django笔记 —— 模板

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  10. Mastering Web Application Development with AngularJS 读书笔记(二)

    第一章笔记 (二) 一.scopes的层级和事件系统(the eventing system) 在层级中管理的scopes可以被用做事件总线.AngularJS 允许我们去传播已经命名的事件用一种有效 ...

随机推荐

  1. kudu系列: Java API使用和效率测试

    Kudu+Impala很适合数据分析, 但直接使用Insert values语句往Kudu表插入数据, 效率实在不好, 测试下来insert的速度仅为80笔/秒. 原因也是显然的, Kudu本身写入效 ...

  2. IScroll在某些手机浏览器上不能滑动和卡顿解决办法

    1.不能滑动,增加一句 if (scroll != null) scroll.refresh();2.卡顿,增加 <script>window.PointerEvent = undefin ...

  3. try}-with-resources

    今天看前人代码的时候,发现了一个以前一直没用过的东西, 公司目前使用的是jdk1.8(vertx3需要), 在某处代码里有这样一行代码: try( FileOutputStream fos=new F ...

  4. C# EF框架调用数据库的函数

    1.在数据库中创建一个自定义函数: REATE FUNCTION [dbo].[f_IsOriginsDisabled] ( ), @needPPTV bit ) RETURNS bit AS BEG ...

  5. Docker 容器状态查看 - 五

    1.top stats 查看 docker 容器的状态信息 查看容器状态: docker stats nginx1 查看进程信息: docker top nginx1 2.inspect 使用 doc ...

  6. 数据库设计理论与实践·<四>数据库基本术语及其概念

    一.关系模型 关系模型是最重要的一种数据模型.关系数据库模型系统采用关系模型作为数据的组织方式. 关系模型的数据结构: 关系:一张表 元组:一行记录. 属性:一列 [码(键,key)]:表中的某个属性 ...

  7. luogu P3233 [HNOI2014]世界树

    传送门 我是什么时候写的这题的qwq 首先,发现关键点的总数被限制了,很自然想到虚树,并且,对于一个关键点,他管理的点显然是一个联通块 然后把虚树先建出来,然后两次dfs,第一次是向祖先更新离每个点最 ...

  8. day 8 - 1 文件操作

    文件操作 注意: 1. r+ 最为常用 2.encoding 的编码格式一定要与文件编码格式一致 读取 r  rb #在本地创建 txt 格式的文件默认使用 gbk 格式 f = open('e:/p ...

  9. 第五节,K-近邻算法(KNN)

    收集数据——>准备数据——>分析数据——>训练算法——>测试算法——>使用算法 K-近邻算法: (1)计算已知类别数据集中的点与当前点之间的距离 (2)按照距离递增次序排 ...

  10. nginx使用https协议

    效果: nginx添加ssl模块 ./configure --with-http_ssl_module 生成证书 openssl genrsa -out ca.key 2048 openssl req ...