在使用Django之前,我们需要把它先安装好。我们这里有一个完整的安装指南,涵盖了所有的可能性; 本指南将引导您通过简单的,最小化安装。
Windows 安装参考:https://docs.djangoproject.com/en/1.9/howto/windows/
作为一个Python Web框架,Django 需要 Python 环境的支持。Python中包括一个轻量级的数据库:SQLite,所以我们不会需要建立数据库。
Python 3.4.x [GCC 4.x] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
如果想使用像PostgreSQL,MySQL和Oracle这些一个“大”数据库引擎工作。要安装这样的数据库,请查阅数据库的安装信息。
在某些版本的Windows(Windows 7)中,需要确保 Path 系统变量的路径如下:C:\Python27\;C:\Python27\Lib\site-packages\django\bin\ 在里面,当然这取决于你的Python版本。
接下来,通过运行以下命令,在windows shell “cmd” 可能需要管理权限来安装Django ?
C:\Python27\Django-1.9.1>python setup.py install
要测试你的安装,打开命令提示符,从 shell 输入Python可以看到。然后在Python提示符,尝试导入Django:
>>> import django >>> print(django.get_version()) 1.9.1
$ python -c "import django; print(django.get_version())"
如果安装 Django,你应该看到安装的版本。如果还未安装会得到一个错误提示: “No module named django”。
本教程是使用 Django1.9和Python2.7或更高版本编写的。如果Django的版本不匹配,您可以通过使用版本切换 Django 版本,或者 Django 更新到最新版本。如果还在使用Python2.7,则需要稍微调整代码,如在注释中描述。
如果第一次使用Django,必须采取一些初始设置。也就是说,需要自动生成一些代码,建立一个Django项目 - 设置Django实例的集合,包括数据库配置,Django 特定选项和特定应用程序设置。
C:\python27> django-admin startproject mysite
mysite/ manage.py mysite/ __init__.py settings.py urls.py wsgi.py
对上面这些文件的简要说明:
C:\python27\mysite> python 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. January 24, 2016 - 15:50:53 Django version 1.9, using settings 'mysite.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
你已经启动Django开发服务器,它是用Python写的纯粹一个轻量级的Web服务器。我们已经包含在 Django 中了,所以你可以很快开发东西了,而不必处理配置生产服务器 - 如:Apache 。
需要注意的是:不要在任何类似生产环境中使用此服务器。它的目的只是用于开发(我们是在使用Web框架,而不是Web服务器的业务。)
$ python manage.py runserver 8080
$ python manage.py runserver 0.0.0.0:8000
在Django写的每个应用程序包含一个Python包,遵循一定的约定。 Django提供了一个实用程序,自动生成一个应用程序的基本目录结构,这样就可以专注于写代码而不是建立目录。
C:\python27\mysite> python manage.py startapp polls
polls/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py
from django.http import HttpResponse def index(request): return HttpResponse("Hello, world. You're at the polls index.")
polls/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py urls.py views.py
from django.conf.urls import url from . import views urlpatterns = [ url(r'^$', views.index, name='index'), ]
下一步骤是让 polls.urls 模块指向该ROOT_URLCONF。在 mysite/urls.py 中, 增加导入 django.conf.urls.include 并插入 include() 在URL模式列表中,所以这里有:
from django.conf.urls import include, url from django.contrib import admin urlpatterns = [ url(r'^polls/', include('polls.urls')), url(r'^admin/', admin.site.urls), ]
C:\Python27\mysite> python manage.py runserver
在浏览器中打开http://localhost:8000/polls/,应该看到如下文字显示: “Hello, world. You’re at the polls index.”, 在 index 视图中所定义。
url()函数传递四个参数,两个必需的:regex 和 view,以及两个可选:kwargs 和 name。
术语“regex”是一种常用的缩写形式,意思是“正则表达式”,这是一个语法字符串匹配模式,或在我们的示例中是URL模式。Django从第一个正则表达式开始,并使得其遍历列表,比对每一个正则表达式的请求的URL,直到它找到一个匹配。
请注意,这些正则表达式不搜索GET和POST参数,或者域名。例如,在一个请求https://www.example.com/myapp/, URLconf 会寻找myapp/.在一个请求 https://www.example.com/myapp/?page=3, URLconf 还将寻找 myapp/.
如果需要使用正则表达式的帮助,请参见维基百科的条目和 re 模块的文档。 然而在实践中,你并不需要成为正则表达式的专家,因为只需要知道如何捕捉简单的模式。事实上,复杂的正则表达式可以查找性能较差,所以你可能不依赖于正则表达式的全部功能。
最后,一个关于性能的事项需要了解:这些正则表达式编译首次URL配置模块被加载。它们是超级的快(只要查找东西不是太复杂 - 如上所述)。
当 Django 找到正则表达式匹配,Django调用指定的视图函数,使用 HTTP 请求对象作为第一个参数,从正则表达式“捕获”的其他参数作为其它的值。 正则表达式使用简单的捕捉,值传递是通过位置参数;如果使用名为捕捉,值传递关键字参数。我们将给出一个例子。
命名网址可以参考它,明确地从其他地方在Django - 尤其是模板。 这种强大的功能可让您进行全局更改到项目的URL模式,而只需要修改一个文件。接下来我们学习如何在 Django 使用数据功能。
快速入门系列教程:
2 - Django快速入门-数据库模型
3 - Django快速入门-视图
4 - Django快速入门-表单