【Django】表单
Django中的表单(form)是处理用户输入数据的强大工具,可用于生成HTML表单、验证用户输入的数据以及显示错误信息。 官方文档: https://docs.djangoproject.com/en/stable/topics/forms/ https://docs.djangoproject.com/en/stable/ref/forms/ 1.基本用法 1.1 定义表...
Django中的表单(form)是处理用户输入数据的强大工具,可用于生成HTML表单、验证用户输入的数据以及显示错误信息。 官方文档: https://docs.djangoproject.com/en/stable/topics/forms/ https://docs.djangoproject.com/en/stable/ref/forms/ 1.基本用法 1.1 定义表...
在web应用中,经常需要在处理完一个表单或其他用户输入后,向用户显示一条一次性的通知消息。为此,Django提供了消息框架,可以在请求中临时存储消息,并在响应或后续请求中获取并显示。 官方文档:https://docs.djangoproject.com/en/stable/ref/contrib/messages/ 1.配置 1.1 启用消息框架 startproject命令创建的默认...
C++的源代码字符集处理是一个复杂的过程。如果程序中使用了中文,而字符集设置得不正确,就会出现乱码。本文介绍C++的字符串编码问题,以及如何正确地设置字符集。 1.字符类型 C++支持多种不同的字符类型。除了基本字符类型char,C++还提供了表示宽字符的wchar_t以及表示Unicode字符的char8_t、char16_t和char32_t,详见Character types。 ...
多任务(multitasking)是操作系统可以(看起来)在同一时刻运行多个程序的能力。例如,在编辑邮件的同时可以打印文件。操作系统会为每个进程分配CPU时间片,给人并行处理的感觉。 多线程在更低一层扩展了多任务的概念:一个程序看起来在同时执行多个任务。每个任务在一个线程(thread)中执行,线程是控制线程(thread of control)的简称。可以同时运行多个线程的程序称为多线程...
本章首先介绍Swing的底层架构。然后会介绍Swing中最常用的用户界面组件,如文本框、单选按钮和菜单等。接下来,你会了解如何使用布局管理器排列这些组件。最后将介绍如何在Swing中实现对话框。 本章涵盖基本的Swing组件。高级Swing组件将在卷II第11章介绍。 11.1 Swing和MVC设计模式 思考以下构成用户界面组件的各个组成部分: 内容(如按钮是否按下、文本框中的文...
1.引言 C++20引入的范围(Ranges)库是对STL算法库的扩展,使算法和迭代器可以组合,从而使其功能更加强大。范围库为函数式编程提供了更好的支持。 例如,下面的示例程序输出一个整数数组中所有偶数的平方。 #include <iostream> #include <ranges> int main() { int arr[] = {0, 1, 2,...
在本章和下一章中,将讨论使用Swing工具包实现用户界面编程的基础知识。 10.1 Java用户界面工具包简史 AWT (Abstract Window Toolkit) IFC (Internet Foundation Classes) Swing:Java官方GUI工具包,支持跨平台 JavaFX 注释:Swing不是完全替代AWT,而是构建在AWT架构之上。 ...
本章将介绍如何利用Java标准库帮助我们实现程序设计所需的传统数据结构(data structure)。 9.1 Java集合框架 这一节将介绍Java集合框架(Java collections framework)的基本设计,展示如何使用,并解释一些颇具争议的特性背后的考虑。 注: 集合(collection)即一组元素,相当于C++中的容器。 官方文档: ...
泛型类和泛型方法有类型参数,这使得它们可以准确地描述用特定类型实例化时会发生什么。在有泛型类之前,程序员必须使用Object编写适用于多种类型的代码,这既繁琐又不安全。 在本章中,你将了解泛型编程的优势及挑战。 8.1 为何使用泛型编程 泛型编程(generic programming)意味着编写可用于多种不同类型的对象的代码。ArrayList就是一个例子(见5.3节)。 8.1.1...
对于异常情况,Java使用一种称为异常处理(exception handling)的错误捕获机制。本章的第1部分将介绍Java的异常。 在测试期间,需要运行大量检查以确保程序的正确性。但是这些检查可能非常耗时,在测试完成后也不必保留。本章的第2部分将介绍如何使用断言来选择性地启用检查。 当程序出现错误时,你可能希望记录出现的问题,以便日后分析。本章的第3部分将讨论标准Java日志框架。 ...