Python Django框架 2019(03)

mysite\templates\west文件夹下面的

templay.html文件内容

<h1>{{ label }}</h1>

修改mysite/settings.py

‘DIRS’: [
os.path.join(BASE_DIR, ‘templates/west’)
],

修改west/views.py,增加一个新的对象,用于向模板提交数据:

def templay(request):
context          = {}
context[‘label’] = ‘Hello World!’
return render(request, ‘templay.html’, context)

修改west/urls.py

url(r’^templay/’,views.templay),

访问http://127.0.0.1:8000/west/templay,可以看到页面:

修改上次的west/views.py中的staff:

将数据库中的数据放入到context中 继续阅读“Python Django框架 2019(03)”

Python 错误和异常

语法错误

语法错误又称解析错误

SyntaxError: invalid syntax

解析器会输出出现语法错误的那一行,并显示一个“箭头”,指向这行里面检测到第一个错误。

异常

在执行时检测到的错误被称为*异常*,异常不一定会导致严重后果

ZeroDivisionError: division by zero

NameError: name ‘spam’ is not defined

…….

错误信息的最后一行告诉我们程序遇到了什么类型的错误。异常有不同的类型,而其类型名称将会作为错误信息的一部分中打印出来

处理异常

try 语句的工作原理如下。 继续阅读“Python 错误和异常”

Python 输入输出 读写文件— 2

读写文件

open() 返回一个 file object,最常用的有两个参数: open(filename, mode)

>>> f = open('workfile', 'w')

第一个参数是包含文件名的字符串。第二个参数是另一个字符串,其中包含一些描述文件使用方式的字符。mode 可以是 'r' ,表示文件只能读取,'w' 表示只能写入(已存在的同名文件会被删除),还有 'a' 表示打开文件以追加内容;任何写入的数据会自动添加到文件的末尾。'r+' 表示打开文件进行读写。mode 参数是可选的;省略时默认为 'r'

通常文件是以 text mode 打开的,这意味着从文件中读取或写入字符串时,都会以指定的编码方式进行编码。如果未指定编码格式,默认值与平台相关 。

在mode 中追加的 'b' 则以 binary mode 打开文件

在处理文件对象时,最好使用 with 关键字。 优点是当子句体结束后文件会正确关闭,即使在某个时刻引发了异常。 而且使用 with 相比等效的 tryfinally 代码块要简短得多

如果没有使用 with 关键字,那么应该调用 f.close() 来关闭文件并立即释放它使用的所有系统资源。

 

文件对象的方法 继续阅读“Python 输入输出 读写文件— 2”

Python 输入输出

输入输出

有几种格式化输出的方法。

  • 要使用 格式字字符串字面值 ,在字符串的开始引号或三引号之前加上一个 fF 。在此字符串中,可以在 {} 字符之间写可以引用的变量或字面值的 Python 表达式。

    >>> year = 2016
    >>> event = 'Referendum'
    >>> f'Results of the {year} {event}'
    'Results of the 2016 Referendum'
    
  • 字符串的 str.format() 方法需要更多的手动操作。使用 {} 来标记变量将被替换的位置,并且可以提供详细的格式化指令,还需要提供要格式化的信息。

    >>> yes_votes = 42_572_654
    >>> no_votes = 43_132_495
    >>> percentage = yes_votes / (yes_votes + no_votes)
    >>> '{:-9} YES votes  {:2.2%}'.format(yes_votes, percentage)
    ' 42572654 YES votes  49.67%'
    
  • 最后,可以使用字符串切片和连接操作完成所有的字符串处理

repr() or str() 函数将任何值转化为字符串。

str() 函数是用于返回人类可读的值的表示,而 repr() 是用于生成解释器可读的表示

>> s = ‘Hello, world.’
>>> str(s)
‘Hello, world.’
>>> repr(s)
“‘Hello, world.'”

 

格式化字符串文字 继续阅读“Python 输入输出”