一步一步学Django

发布时间:2023-01-08 16:05:48   来源:文档文库   
字号:
第一讲入门1开篇Django是新近出来的Rails方式的web开发框架。在接触Django之前我接触过其它几种Python下的webframework,但感觉Karrigell是最容易上手的。不过Django从我个人的感觉上来看,它的功能更强大,社区也很活跃,高手众多,发展也是极为迅速。3Django的入门体验Django呢?如果说最简单的web体验Hello,Django!如何写呢?决不会象Karrigell样简单,只从它提供的教程来看,你无法在安装后非常Easy地写出一个Hello,Django!的例子,因为有一系列的安装和准备工作要做。那么下面我把我所尝试写最简单的Hello,Django!的例子写出来。请注意,我测试时是在WindowsXP环境下进行的。3.1安装pythonsetup.pyinstall参考文档Djangoinstalled,一般地,Django安装前还需要先安装setuptools包。可以从PyPI上搜到。目前最新的版本是0.95版,可以从Django的主页上面下载。如果你想从老的0.91迁移到最新版本,可以参阅RemovingTheMagic文档。安装后,建议检查pythoninstalldir/Scripts目录是否在你的PATH环境中,如果不在,建议将这个目录设置到PATH中。因为如果你采用标准的Python安装方法,那么Django会自动在Scripts目录下安装django-admin.py程序。这样,一旦你设置了ScriptsPATH中,就可以在命令行下任何目录中执行django-admin.py了。3.2生成项目目录因为Karrigell可直接开发,因此放在哪里都可以。而Django是一个框架,它有特殊的配置要求,因此一般不需要手工创建目录之类的工作,Django提供了django-admin.py可以做这件事。为使用django-admin.py,建议将PythonScripts目录加入到PATH环境变量中去。django-admin.pystartprojectnewtest这样就在当前目录下创建了一个newtest目录,进去入可以看到有四个文件:这个newtest将是我们以后工作的目录,许多讲解都是基于这个目录的。__init__.py表示这是一个Python的包manage.py提供简单化的django-admin.py命令,特别是可以自动进行DJANGO_SETTINGS_MODULESPYTHONPATH的处理,而没有这个命令,处理上面环境变量是件麻烦的事情settings.py它是django的配置文件uls.pyurl映射处理文件,Djangourl映射是url对某个模块方法的映射,目前不能自动完成0.91版,django-admin.pystartproject会生成apps目录。0.95版之后已经没有了。虽然django-admin.py为我们生成了许多东西,而且这些东西在以后的开发中你都需要熟悉,现在我们的目标是最简单的体验,就认为我们不需要知道它们都有什么用吧。项目创建好了,那么我们可以启动服务器吗?Django为了开发方便,自带了一个用于开发的webserver。在0.91版,你需要至少修改一下settings.py中的DATABASE_ENGINE,如果你不改,那么Django会报错。在0.95版之后,不再需要设置了。-可编辑修改-
3.3.1启动webserver:别急呀,还没看见Hello,Django!在哪里呢。是的,我只是想看一看,Django能否启动。manage.pyrunserver一旦出现:Validatingmodels...0errorsfound.Startingserveronport8000withsettingsmodule'newtest.settings'.Gotohttp://127.0.0.1:8000/forDjango.QuittheserverwithCONTROL-C(UnixorCTRL-BREAK(Windows.说明Django真的启来了。在浏览器中看一下,有一个祝贺页面,说明成功了。3.3.2更改主机或端口默认情况下,runserver命令在8000端口启动开发服务器,且只监听本机连接。要想要更改服务器端口的话,可将端口作为命令行参数传入:pythonmanage.pyrunserver8080还可以改变服务器监听的IP地址。要和其他开发人员共享同一开发站点的话,该功能特别有用。下面的命令:pythonmanage.pyrunserver0.0.0.0:8080会让Django监听所有网络接口,因此也就让其它电脑可连接到开发服务器了3.4增加一个helloworldapp吗?Django中绝大多数应用都是以app形式存在的,但一定要加吗?其实并不一定。Django中,每个app就是一个子包,真正调用时需要通过URLDispatch来实现url与模块方法的映射。这是Django的一大特色,但也是有些麻烦的地方。不用它,你无法发布一个功能,如果在Django中存在一种缺省的简单映射的方式,这样我想可以大大提高Django的入门体验度。不过在比较大的项目中,使用app还是一个非常好的方式,它可将项目功能进行分割,以便组织和代码的重用。因此根据URLDispatch的机制,我们只要保证Django可以在正确的地方找到方法进行调用即可。那么我们就根本不去创建一个app了。在newtest目录下建一个文件helloworld.py容为:fromdjango.httpimportHttpResponsedefindex(request:returnHttpResponse("Hello,Django."0.95版之后对许多Django模块都做了简化。具体可参考:NamespaceSimplification文档。-可编辑修改-

本文来源:https://www.2haoxitong.net/k/doc/8651b23ca7e9856a561252d380eb6294dd8822db.html

《一步一步学Django.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式