Django中文文档
编写你的第一个Django应用程序,第1部分
本教程中,我们将引导您完成基本轮询应用程序的创建。
它由两部分组成:
一个公共站点,允许人们查看民意调查并在其中投票。
一个管理站点,允许您添加,更改和删除民意调查。
我们假设你已经安装了Django。您可以通过在shell提示符中运行以下命令(由$前缀表示)来告知Django已安装以及哪个版本:
py -m django --version
通过在pycharm下方的Terminal里输入这段代码,或者在管理员命令提示符输入即可查询你的Django版本:如果成功就会先显示类似如下字样:
创建项目
如果这是你第一次使用Django,你将不得不处理一些初始设置。也就是说,您需要自动生成一些建立Django 项目的代码- Django实例的设置集合,包括数据库配置,Django特定选项和特定于应用程序的设置。
从命令行cd进入要存储代码的目录,然后运行以下命令:
django-admin startproject mysit
此时在当前目录就算创建好了一个项目,项目名字叫:mysit
打开mysite文件夹就会发现里面有几个自带文件:
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
这就是树状图:
这些文件是:
外部mysite/根目录只是项目的容器。它的名字对Django来说无关紧要; 你可以将它重命名为你喜欢的任何东西。
manage.py:一个命令行实用程序,允许您以各种方式与此Django项目进行交互。您可以manage.py在django-admin和manage.py中阅读有关的所有详细信息 。
内部mysite/目录是项目的实际Python包。它的名称是您需要用来导入其中任何内容的Python包名称(例如mysite.urls)。
mysite/init.py:一个空文件,告诉Python该目录应该被视为Python包。如果您是Python初学者,请阅读官方Python文档中有关包的更多信息。
mysite/settings.py:此Django项目的设置/配置。 Django设置将告诉您有关设置如何工作的所有信息。
mysite/urls.py:这个Django项目的URL声明; 您的Django支持的站点的“目录”。您可以在URL调度程序中阅读有关URL的更多信息。
mysite/wsgi.py:与WSGI兼容的Web服务器的入口点,用于为您的项目提供服务。有关更多详细信息,请参阅如何使用WSGI进行部署。
开发服务器
让我们验证您的Django项目是否有效。mysite如果尚未更改到外部目录,请运行以下命令:
py manage.py runserver
输入上面的代码后,命令行就会显示:
Performing system checks...
System check identified no issues (0 silenced).
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
December 21, 2018 - 16:08:11
Django version 1.9.7, using settings 'todo.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
此时已经启动了Django开发服务器,这是一个纯粹的用这是一个纯粹用Python编写的轻量级Web服务器。我们已经将它包含在Django中,因此您可以快速开发,而无需处理配置生产服务器(如Apache),直到您准备好进行生产。
现在是时候注意了:不要在类似生产环境的任何地方使用这个服务器。它仅用于开发时使用。(我们的业务是制作Web框架,而不是Web服务器。)
现在服务器正在运行,请使用浏览器访问 http://127.0.0.1:8000/。你会看到一个“祝贺!”页面,火箭起飞。有效!
更换端口
默认情况下,runserver 命令会将服务器设置为监听本机内部 IP 的 8000 端口。
如果你想更换服务器的监听端口,请使用命令行参数。举个例子,下面的命令会使服务器监听 8080 端口:
python manage.py runserver 8080
如果你想要修改服务器监听的IP,在端口之前输入新的。比如,为了监听所有服务器的公开IP(这你运行 Vagrant 或想要向网络上的其它电脑展示你的成果时很有用),使用:
python manage.py runserver 0:8000
创建投票应用
现在你的开发环境——这个“项目” ——已经配置好了,你可以开始干活了。
在 Django 中,每一个应用都是一个 Python 包,并且遵循着相同的约定。Django 自带一个工具,可以帮你生成应用的基础目录结构,这样你就能专心写代码,而不是创建目录了。
你的应用可以存放在任何 Python path 中定义的路径。在这个教程中,我们将在你的 manage.py 同级目录下创建投票应用。这样它就可以作为顶级模块导入,而不是 mysite 的子模块。
请确定你现在处于 manage.py 所在的目录下,然后运行这行命令来创建一个应用:
python manage.py startapp polls
这将会创建一个 polls 目录,它的目录结构大致如下:
polls/
init.py
admin.py
apps.py
migrations/
init.py
models.py
tests.py
views.py
这个目录结构包括了投票应用的全部内容
编写第一个视图
让我们开始编写第一个视图吧。打开 polls/views.py,把下面这些 Python 代码输入进去:
polls/views.py ps :这是文件路径
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
这是 Django 中最简单的视图。如果想看见效果,我们需要将一个 URL 映射到它——这就是我们需要 URLconf 的原因了。
为了创建 URLconf,请在 polls 目录里新建一个 urls.py 文件。你的应用目录现在看起来应该是这样:
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
urls.py
views.py
在 polls/urls.py 中,输入如下代码:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
下一步是要在根 URLconf 文件中指定我们创建的 polls.urls 模块。在 mysite/urls.py 文件的 urlpatterns 列表里插入一个 include(), 如下:
mysite/urls.py