创建项目
在要创建Django项目的目录下cmd进入命令行,运行如下命令:
运行成功后会在当前的目录文件中创建一个Django文件:
mysite的目录文件结构如下:
外部mysite/根目录是项目的容器。他的名字对于Django来说并不重要,可以随意重命名。
manage.py:一个命令行实用程序,可以用各种方式与该Django项目进行交互。
内部mysite/目录是项目的实际python包,它的名称是在需要用来导入其中的任何内容的python包的名称(例如mysite.urls)。
mysite/__init__.py:一个空文件,告诉python这个目录应该被认为是一个python包。
mysite/settings.py:此Django项目的设置/配置。
mysite/urls.py:此Django项目的URL声明;Django驱动站点的“目录”。
mysite/asgi.py:兼容ASGI的Web服务器的入口点,可为您的项目提供服务。
mysite/wsgi.py:WSGI兼容的Web服务器的入口点,用于为您的项目提供服务。
开发服务器
在mysite的根目录下cmd进入命令行,执行命令如下:
此时已经成功启动了Django开发服务器,这是一个纯python编写的轻量级Web服务器。现在的服务器正在运行,使用web浏览器访问http://127.0.0.1:8000/,会看到如下页面:
如果拒绝连接,可能的问题是本地的IIS服务配置问题,重新安装即可。若是其他问题,详细的解决方法见https://www.cnblogs.com/rulasann/p/9442420.html。
创建投票应用程序
在manage.py的目录下进入命令行,键以下命令:
这会创建出一个目录polls,其结构如下:
编写第一个视图
打开文件polls/views.py,并键入如下代码:
这是Django中最简单的视图,要调用视图,需要将他映射到一个URL,因此需要一个URLconf(即URL配置,本质是URL与该URL调用的视图函数之间的映射表,就是以这种方式告诉Django,对于URL(1)调用代码(1),对于URL(2)调用代码(2))。
要在polls目录中创建URLconf,先后才能构建一个urls.py。
在polls/urls.py文件中包含以下代码:
然后将根URLconf指向polls.urls模块。在mysite目录下的urls.py文件中添加如下代码:
此时,已经将index视图连接到URLconf,使用以下命令启动服务器进行测试:
在浏览器中访问http://localhost:8000/polls/,将会看到如下页面:
【path函数】
path()函数共有四个参数,其中必须的参数有:route和view,可选参数有:kwargs和name。
route是一个包含URL映射路径的字符串,处理请求时,Django就会从url-pattern沿着列表向下匹配,知道找到相匹配的URL。
path()参数:patten
patten不搜索GET和POST参数或域名。比如在请求https://www.example.com/myapp/,URLconf将查找myapp/。在对https://www.example.com/myapp/?page=3,URLconf还将查找myapp/。
path()参数:view
当Django找到匹配pattern时,它会调用指定的视图函数,将HttpRequest对象作为第一个参数,并将路由中“捕获”的任何值作为关键字参数。
path()参数:kwargs
任意关键字参数可以在字典中传递给目标视图。
path()参数:name
命名URL可以在Django的其他地方明确地引用它,尤其是在模块中。这个功能允许在直接出单个文件的情况下对项目的URL模式进行全局的更改。
数据库设置
默认情况下,配置使用SQLite。打开mysite/settings.py,在其中设置数据库,默认情况下的代码如下:
参数ENGINE可设置为:
‘django.db.backends.sqlite3’(默认使用sqlite的情况)
'django.db.backends.postgresql'
'django.db.backends.mysql'
'django.db.backends.oracle'
或者其他的后端数据库皆可。
参数NAME:数据库名称。如使用SQLite,数据库就是计算机上的一个文件,在这种情况下,NAME就是该文件的完整绝对路径,包括其文件名。默认将文件存储在您的项目目录中。BASE_DIR / 'db.sqlite3'
SQLite包含在python中,因此无需安装任何东西来支持这个数据库。如果想使用其他的数据库,可安装适当的数据库绑定并更改项目中的以下设置来匹配数据库的连接设置:https://docs.djangoproject.com/en/3.2/ref/settings/#std:setting-DATABASES
如果不使用SQLite作为数据库,如其他设置USER,PASSWORD,HOST必须增加。具体操作参考网址https://docs.djangoproject.com/en/3.2/ref/settings/#std:setting-DATABASES
关于INSTALLED_APPS文件的设置,在默认情况下为:
django.contrib.admin—管理站点
django.contrib.auth—认证系统
django.contrib.contenttypes—内容类型框架
django.contrib.sessions—会话框架
django.contrib.messages—消息传递框架
django.contrib.staticfiles—管理静态文件的框架
由于其中一些应用程序至少使用一个数据库表,因此我们需要在数据库中创建表,然后才使用它们。运行以下命令:
这个命令查看INSTALLED_APPS设置并根据mysite/settings.py文件中数据库设置和应用程序附带的数据库迁移创建任何必要的数据库表。
创建模型
【model(模型)】模型是有关数据的唯一、确定的真是来源。它包含存储的数据的基本字段和操作。目标是在一个地方定义数据模型并自动从中派生数据。
在投票应用程序中,将创建两个模型:Question和Choice。Question有两个字段:一个问题和一个发布日期。Choice有两个字段:选择的文本和投票计数。每一个choice都与一个question相关。
编辑polls/models.py文件:
这里的每一个模型都由django.db.models.Model表示,每个model都有诸多变量组成,每个变量表示model中的一个数据库字段。每一个字段都由一个Field类的实例表示,表示字段保存的数据类型。
激活模型
1.为应用程序创建数据库架构:
CREATE TABLE
2.