《PYTHON编程从入门到实践》(第2版)是一本很不错的PYTHON入门书籍,提供了一些好懂的编程实例,卖的应该也是比较火。在京东上搜索PYTHON,综合排名靠前。
我也买了一本,从头练习到尾,没怎么出过差错。但是回过头来,发现在练习过程中,书中有些地方说得不是那么清楚。一个就是用pygame库开发游戏时,如何安装pygame有点混乱,好在网络上有人帮助解决这个问题,见:
其次,就是学习Django用venv搭建本地环境时,书中举的实例是linux而不是windows。虽有说明,对初学者而言,还是不甚清楚。好在折腾一番后,找到些理解,于是又按常理重新实践了一遍,终于搭建本地环境成功,可以进一步学习Django WEB开发。
下面就来说说具体的操作环节和注意要点:
venv本身并不复杂,就是Python自带的一个虚拟环境,提供WEB服务器功能,用于在本地运行用Python开发的web程序。
1.首先要建立一个目录,在E盘建立目录dj_entry,如下:
2.目录建好后,进入命令行模式,在终端中切换至此目录(书中也是这样说),运行书中的示例命令:python – m venv ll_env,安装venv。
这里要停一下来理解点东西:意思是在dj_entry目录下,建立名为ll_env的venv虚拟环境(或此环境对应此目录)。
当这个环境建立好后,要去目录下查看,是否有生成ll_env子目录,并检查此目录有没有文件及子目录。如果有,则表示成功了。如下图。
(venv创建后,有把python binary复制到一个独立的文件夹,能发挥核心功能,同时又与系统目录隔离开,来自网络上的说明。)
3.接下就是启动激活这个环境。这里书上说的不是那么清楚,实质上,就是要进入到Scripts目录,然后再执行这个目录下的批处理文件activate.bat。当然,是在命令行模式下。
(这就是书中没有说清楚的地方,但搞懂了其实很简单,就是运行一个批处理文件而已。上图是我实践成功的参考步骤。当出现括号里带环境名时,就表示VENV环境已在运行~)
4.接下来,就按书中的来,安装Django。
为了做书中提供的练习,就先安装django2.2.x版而非最新版,执行书中的这个命令:
pip install Django==2.2.*
(只要网络不断,安装会自动进行,成功了会告知信息,截图看书即可。)
5.django安装成功后,接下来就是在django中创建项目。执行书中的这个命令:
django-admin startproject dj_entry .
注意,项目名称要换为自己的,而非书中的命名(如果不和书中一样命名的话),再就是那个.号,前面和项目名称之间会隔有一个空格的,而不是连接在一起。
还是在资源管理器中来检查项目是否有创建成功。
6.创建数据库,执行书中的:python manage.py migrate。成功,则会生成db.sqlite3文件,和manage.py在同一层级(第一个dj_entry目录,而非前面的第二个)。
还要注意:如果出现不对劲的情况,还要检查是否在第一个dj_entry目录输入命令,在别的目录输入有可能会出错,这里再次说明了一点,我们首先得创建dj_entry目录,再在此目录下创建venv虚拟环境,启动了再创建Django项目——在本例子中,是第二个dj_entry目录。
还要注意:如果提示命令出错,有可能是我写的时候写错了,所有的命令要以书中的为准,书中的命令没有错误。
总之,和以前在本地搭建PHP环境相比(XAMPP或小皮面板),是要绕路不少。
7.执行书中的python manage.py runserver,运行服务(相关信息截图见书),在浏览器输入:http://localhost:8000/,看到了django运行成功的画面。这样就能进一步学习django了。要不,学着学着就泄气了!
是为记。不希望隔上一段时间后,下次还要再折腾上一遍。
---------------Django3.2安装手记-------------------------------
2022.9.6晚上又装了一遍,因为看了其他书籍,似乎很简单,于是又对照此书的内容,装了一个django.3.2.15(长期稳定版)来用于进一步的学习,发现有些儿轻车熟路,简单了不少,具体步骤如下:
1.先在某盘如E盘新建一个目录,此目录下将会包括虚拟环境(支持PYTHON隔离运行含django程序在内)目录和其他待要开发的功能模块目录等。如我在E盘创建一个目录,叫:dj32。
2.开始第一步,就是创建虚拟环境,先进入命令行,再进入e:\dj32目录,然后执行命令:python -m venv dj_env,创建名为dj_env的python程序运行环境。然后会自动进入该环境,命令行显示为:(dj_env) E:\dj32>。然后去资源管理器中检查下dj_env目录,看看下面是否有include、lib、Scripts等目录,有,就成。
4.回到(dj_env).......>这样的命令行环境中,执行:dj_env\Scripts\activate。实质就是进入子目录路径并执行activate.bat批处理文件。
5.环境激活后,就安装django,我选择DJANGO3.2.15,执行命令就是:pip install django==3.2.15。同时注意去资源管理器的...ej_env\lib\site-packages目录下查看下,有没有django目录存在。
6.安装完成后,再顺便检查下,输入:python -m django --version 如果出现:3.2.15,表示安装成功(此书中没有,别的书中有)。
7.然后就是创建同名的项目(搞不懂为什么,但就先按这个来吧)熟了以后你想怎么弄名字,我想都是可以的。命令是:django-admin startproject dj32 . (再次提醒,注意那个.号,和前面是有空格相隔的)
8.最后就是启动服务器啦。执行:python manage.py runserver。然后在浏览器中输入:http://127.0.0.1:8000/。如果出现向上的小火箭图片,就表示虚拟环境运行正常,同时安装好了DJANGO及准备好了开干第一个项目。
-------------------补充 Django本地化第一步--------------------------
9.让DJANGO本地化,补充汉化和时区设置:
当VENV这个开发服务器运行成功后,出现的是默认的英文界面,而django是支持国际化的,我们要想汉化和设置对应的时区,只需要修改两点。
打开项目中的settings.py文件,查看底部区域,修改如下设置:
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_TZ = True
改为:
LANGUAGE_CODE = 'zh-hans' #使用中文
TIME_ZONE = 'Asia/Shanghai' #使用中国时区
USE_I18N = True #开启国际化支持
USE_TZ = False # 不使用tz
其中1和3,2与4,可以成做是成对的匹配,如果只修改其中一个的值,而发现没什么改变的情况下,就要考虑两个值之间的匹配关系。
最终结果如下: