安装Django代码¶
安装说明会有所不同,具体取决于您是安装特定于发行版的软件包,下载最新的官方版本还是获取最新的开发版本。
使用¶安装正式版本pip
这是安装Django的推荐方法。
-
安装pip。最简单的方法是使用独立的pip安装程序。如果您的发行版已经
pip
安装,则如果过时,则可能需要对其进行更新。如果已过时,您将知道,因为安装将无法进行。 -
看一下virtualenv和virtualenvwrapper。这些工具提供了隔离的Python环境,比在系统范围内安装软件包更实际。他们还允许安装没有管理员权限的软件包。该贡献教程走过了如何创建的virtualenv。
-
创建并激活虚拟环境后,输入以下命令:
$ python -m pip install Django
创建项目¶
如果这是您第一次使用Django,则必须进行一些初始设置。即,您将需要自动生成一些代码来建立Django 项目 -Django实例的一组设置,包括数据库配置,特定于Django的选项和特定于应用程序的设置。
从命令行cd
进入要存储代码的目录,然后运行以下命令:
$ django-admin startproject mysite
这将mysite
在当前目录中创建一个目录。如果不起作用,请参阅运行django-admin时遇到的问题。
注意
您需要避免使用内置的Python或Django组件来命名项目。特别是,这意味着您应该避免使用类似 django
(与Django本身冲突)或test
(与内置Python包冲突)之类的名称。
该代码应该放在哪里?
如果您的背景是使用简单的老式PHP(不使用现代框架),则可能习惯于将代码放在Web服务器的文档根目录下(例如/var/www
)。使用Django,您无需这样做。将任何这些Python代码放在Web服务器的文档根目录中不是一个好主意,因为这冒着人们可能通过Web查看您的代码的风险。这对安全性不利。
将代码放在文档根目录之外的某个目录中,例如 /home/mycode
。
让我们看看startproject
创建了什么:
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
这些文件是:
- 外部
mysite/
根目录是您的项目的容器。它的名字对Django无关紧要。您可以将其重命名为您喜欢的任何名称。 manage.py
:一个命令行实用程序,可让您以各种方式与该Django项目进行交互。您可以manage.py
在django-admin和manage.py中阅读有关的所有详细信息 。- 内部
mysite/
目录是项目的实际Python包。它的名称是Python包名称,您需要使用它来导入其中的任何内容(例如mysite.urls
)。 mysite/__init__.py
:一个空文件,告诉Python该目录应视为Python软件包。如果您是Python初学者,请在Python官方文档中阅读有关包的更多信息。mysite/settings.py
:此Django项目的设置/配置。 Django设置将告诉您所有设置的工作方式。mysite/urls.py
:此Django项目的URL声明;Django支持的网站的“目录”。您可以在URL调度程序中阅读有关URL的更多信息。mysite/asgi.py
:与ASGI兼容的Web服务器为您的项目提供服务的入口点。有关更多详细信息,请参见如何使用ASGI进行部署。mysite/wsgi.py
:与WSGI兼容的Web服务器为您的项目提供服务的入口点。有关更多详细信息,请参见如何使用WSGI进行部署。
(venv) C:Users...DJGmysite>dir
2020/05/01 22:46 <DIR> .
2020/05/01 22:46 <DIR> ..
2020/05/01 22:46 647 manage.py
2020/05/01 22:46 <DIR> mysite
1 个文件 647 字节
3 个目录 54,170,718,208 可用字节
注意manage.py这个文件的位置
python manage.py runserver
浏览器打开:http://127.0.0.1:8000/
Django 欢迎界面:
The install worked successfully! Congratulations!
明令行:
Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
更改端口
默认情况下,该runserver
命令在内部IP端口8000上启动开发服务器。
如果要更改服务器的端口,请将其作为命令行参数传递。例如,此命令在端口8080上启动服务器:
$ python manage.py runserver 8080
如果要更改服务器的IP,请将其与端口一起传递。例如,要侦听所有可用的公共IP(如果您正在运行Vagrant或想在网络上的其他计算机上炫耀您的工作,则很有用),请使用:
$ python manage.py runserver 0:8000
0是0.0.0.0的快捷方式。有关开发服务器的完整文档,请参见runserver
参考资料。
自动重新加载 runserver
开发服务器会根据需要自动为每个请求重新加载Python代码。您无需重新启动服务器即可使代码更改生效。但是,某些操作(例如添加文件)不会触发重新启动,因此在这种情况下,您必须重新启动服务器。