在使用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快速入门-表单