最近在学习python和web框架的一些知识,加上这两天写博客有点来瘾,ok,再做个笔记吧。
目前我在北京的一家培训公司实习,学校安排,毕竟还是个渣滓,难免有不足之处恳请指正。下面介绍一下我关于Django的认识。
Django是使用python开发的开源web框架...(此处略去1000字关于Django的介绍)。如果大家还没有这个框架,可以去我的csdn下载,不要钱。我上传的是1.9.12版本,linux和windows下都能用。使用python setup.py install就可以安装了,在此之前可能出现没有安装setuptools的问题,我是个好人,大家也可以去我的csdn资源下载这个,我也早已经上传过pip和setuptools,当然这个会法灰(黑化肥发灰会化灰发辉发挥花费)你1Cb。ok,碎碎念到此。
听我一个很牛的培训老师说,django1.7是个分手岭。不过不用担心,1.9.12版本是可以得到python2.7.5的支持的。关于这个框架的基本介绍,还是从生成项目开始。
如果你装好了django框架,并且在PATH里面配置好了包含django命令的环境变量,这个框架的命令在框架安装好之后通常放在python目录下的Script子目录下。当你把它添加到
系统环境变量中后,便可以在命令行调用,linux下在安装好之后系统会自动将其添加到PATH里面,但是windows下面可能需要手动配置。这个目录和pip命令的目录是相同的。
ok。。。上面贴上了一个大的吓人的图片,不过不要在意这些细节,至少django框架ok了,并且可以使用它的命令了。django-admin是与创建项目有关的,
上面的可选参数多的吓人。我们现在只需要知道django-admin startproject test,创建一个新的项目。ok我刚刚在创建竟然出错了,错误描述是:
CommandError: 'test' conflicts with the name of an existing Python module and cannot be used as a pr
oject name. Please try another name.
相信大家已经看出来了——你一定要学会阅读错误信息,这样你遇见错误时才不会像一个无头苍蝇。上面的错误告诉我们命名冲突,python里面已经有了test模块。
我help('modules')看了一下的确有,python2.7没有骗我。
然后我创建了一个名称是cranberries的项目,名称来自卡百利乐队。django-admin startproject cranberries;ok,成功。
创建项目后并没有什么文本类型的返回信息,不过我们的确已经创建好了。可以看见项目目录下有一个新的文件夹cranberries。接下来,django的目录结构是
需要介绍的。
你必须理解django的框架结构,并且清楚地知道它们各自的作用。如果你在当前目录(假设是D:\django\)下面创建了cranberries,在django下面会有一个cranberries文件,里面
包含manage.py和另一个一个cranberries文件,第二层目录下的cranberries文件包含两个最重要的文件settings.py,urls.py。wsgi文件与工程上线的接口配置有关,不作过多介绍。__init__.py是python的规范。导入不同目录下的py文件所必须的文件。
manage.py与项目的管理有关,最常用的是启动项目命令,python manage.py runserver 0.0.0.0:8000(windows下)或者linux下 ./manage.py runserver 0.0.0.0:8000。由于在linux下./并没有加到系统PATH中,所以使用./调用当前目录下的命令是必须的。
在创建完项目后,便可以用上面的命令运行web服务了。
我相信我写的已经很详细,而且贴的图也够大了。到目前为止你的项目已经运行在了本机上,上面的图片有几条错误信息,是因为我还没有配置settings.py造成的非法
访问。目前为止,服务已经跑起来了,但是却不能访问。因为我们并没有在settings.py中设置允许访问的IP。ALLOWED_HSOTS=[]添加匹配IP
在之前我一直想使用0.0.0.0匹配全网段IP,但是在此之前必须要加上本机ip地址,否则将无法访问。这个问题我也存在疑问。
在我们使用manage.py runserver 时候0.0.0.0表示向全网开放服务。至此为止我们成功地运行起了django框架。ok,我应该介绍一下django的
app和第一个Helloworld,但我写的已经太多了。累。。。回头找时间在介绍下urls的url正则匹配,和app的框架结构,今天先到这里吧,本人很懒。。