使用pycharm创建Django项目[通俗易懂]

2022-09-25 14:44:33 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

创建项目

1. 使用命令行创建项目

如果这是你第一次使用 Django 的话,你需要一些初始化设置。也就是说,你需要用一些自动生成的代码配置一个 Django project —— 即一个 Django 项目实例需要的设置项集合,包括数据库配置、Django 配置和应用程序配置。

打开命令行,cd 到一个你想放置你代码的目录,然后运行以下命令:

代码语言:javascript复制
django-admin startproject mysite    
#mysite是项目名

这行代码将会在当前目录下创建一个 mysite 目录。如果命令失败了,查看 运行django-admin时遇到的问题,可能能给你提供帮助。

避免使用 Python 或 Django 的内部保留字来命名你的项目。具体地说,避免使用像 django (会和 Django 自己产生冲突)或 test (会和 Python 的内置组件产生冲突)这样的名字。 我的代码该放在哪? 如果你曾经是原生 PHP 程序员(没有使用过现代框架),你可能会习惯于把代码放在 Web 服务器的文档根目录(诸如 /var/www)。当使用 Django 时不需要这样做。把所有 Python 代码放在 Web 服务器的根目录不是个好主意,因为这样会有风险。比如会提高人们在网站上看到你的代码的可能性。这不利于网站的安全。 把你的代码放在文档根目录 以外 的某些地方吧,比如 /home/mycode。

让我们看看 startproject 创建了些什么:

代码语言:javascript复制
mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py

2. 使用 Pycharm 创建项目

file —> new project —- 选择Django —> 配置路径和项目名称 —> 配置环境(默认用系统环境) —-> 点击create(完成创建)

项目目录介绍

代码语言:javascript复制
|---mysite # 项目的/目录 
  |---mysite # 项目目录 
      |---__init__.py 
      |---settings.py # 配置文件 
      |---urls.py # 路由系统 ===> url与视图的对应关系 
      |---wsgi.py # runserver命令就使用wsgiref模块做简单的web server
|---manage.py # 管理文件,是一个工具脚本,
                   #用作项目管理的。以后会使用它执行管理操作
  • wsgi.py(重要部分) 要了解这个文件的作用, 我们必须明白wsgi 是什么意思 python 组织制定了 web 服务网关接口(Web Server Gateway Interface) 规范 ,简称wsgi。参考文档 https://www.python.org/dev/peps/pep-3333/ 遵循wsgi规范的 web后端系统, 我们可以理解为 由两个部分组成 wsgi web server 和 wsgi web application 它们通常是运行在一个python进程中的两个模块,或者说两个子系统。 wsgi web server 接受到前端的http请求后,会调用 wsgi web application 的接口( 比如函数或者类方法)方法,由wsgi web application 具体处理该请求。然后再把处理结果返回给 wsgi web server, wsgi web server再返回给前端。

为什么要搞出两个子系统,这么麻烦呢? 因为这两个子系统有各自负责的重点。 wsgi web server 负责 提供高效的http请求处理环境,可以使用多线程、多进程或者协程的机制。 http 请求发送到 wsgi web server , wsgi web server 分配 线程或者进程或者 轻量级线程(协程),然后在 这些 线程、进程、或者协程里面,去调用执行 wsgi web application 的入口代码。 wsgi web application 被调用后,负责 处理 业务逻辑。 业务逻辑的处理可能非常复杂, wsgi web application 需要精心的设计来正确处理。 django是 wsgi web application 的框架,它只有一个简单的单线程 wsgi web server。 供调试时使用。 产品正式上线运行的时候,通常我们需要高效的 wsgi web server 产品,比如 gunicorn,uwsgi,cherrypy等,结合Django ,组成一个高效的 后端服务。 所以这个 wsgi.py 就是 提供给wsgi web server调用 的接口文件,里面的变量application对应对象实现了 wsgi入口,供wsgi web server调用 。

– 创建应用

使用命令行模式创建应用 在 Terminal 中输入 python manage.py startapp 应用名:

  • 使用 Pycharm 创建应用

注意:使用命令行创建的应用,一定要在 settings.py–>INSTALLED_APPS 中加入你的应用名字进行注册, 使用Pycharm创建的应用则不用。 认识应用结构

这些目录和文件的用处是:

  • 最外层的:file: mysite/ 根目录只是你项目的容器, Django 不关心它的名字,你可以将它重命名为任何你喜欢的名字。
  • manage.py: 一个让你用各种方式管理 Django 项目的命令行工具。你可以阅读 django-admin and manage.py 获取所有 manage.py 的细节。
  • 里面一层的 mysite/ 目录包含你的项目,它是一个纯 Python 包。它的名字就是当你引用它内部任何东西时需要用到的 Python包名。 (比如 mysite.urls).
  • mysite/init.py:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。如果你是 Python初学者,阅读官方文档中的 更多关于包的知识。
  • mysite/settings.py:Django 项目的配置文件。如果你想知道这个文件是如何工作的,请查看 Django settings 了解细节。
  • mysite/urls.py:Django 项目的 URL 声明,就像你网站的“目录”。阅读 URL调度器 文档来获取更多关于 URL的内容。
  • mysite/wsgi.py:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。阅读 如何使用 WSGI 进行部署了解更多细节。

运行项目

django虽然只是 wsgi web application 的框架,但是它也有一个简单的 wsgi web server。 供调试时使用。 所以也构成一个完整的后端web服务。 本地调试代码的时候,完全可以运行起来。 运行开发web 服务只需要在命令行窗口里面, 首先进入到项目根目录 ,比如,我们这里就是 d:projectsbysms 然后执行如下命令

  1. 使用命令行运行项目:
代码语言:javascript复制
python manage.py runserver 0.0.0.0:80

注意:要在 manage.py 同级目录执行命令。

这样服务就会被启动。 我们就可以在浏览器访问web服务了。 其中 0.0.0.0:80 是指定 web服务绑定的 IP 地址和端口。 0.0.0.0 表示绑定本机所有的IP地址, 就是可以通过任何一个本机的IP (包括 环回地址 127.0.0.1 ) 都可以访问我们的服务。 80 表示是服务启动在80端口上。 命令行显示如下:

请打开浏览器,地址栏输入 ‘127.0.0.1’ ,就可以看到如下的界面,表示Django服务搭建成功,启动成功。 也可以在地址栏键入Localhost或,168.0.1.100,如果提示以下错误,可以在settings.py文件中保存了 ‘127.0.0.1’ 、 Localhost 、192.168.1.103。

ipconfig查看本地还有那几个可用的地址

  1. Pycharm 启动项目 点击右上角的绿色的三角按钮。 如需更改配置信息,请下拉选择 edit configurations,进行配置。

如下图所示runserver 127.0.0.1:8000

配置完以上信息之后,直接按 Ctrl shift F10 运行一下 manage.py 文件。 出现如下结果,表示配置成功。

你刚刚启动的是 Django 自带的用于开发的简易服务器,它是一个用纯 Python 写的轻量级的 Web 服务器。我们将这个服务器内置在 Django 中是为了让你能快速的开发出想要的东西,因为你不需要进行配置生产级别的服务器(比如 Apache)方面的工作,除非你已经准备好投入生产环境了。

现在是个提醒你的好时机:千万不要 将这个服务器用于和生产环境相关的任何地方。这个服务器只是为了开发而设计的。(我们在 Web 框架方面是专家,在 Web 服务器方面并不是。)

现在,服务器正在运行,浏览器访问 https://127.0.0.1:8000/。你将会看到一个“祝贺”页面,随着一只火箭发射,服务器已经运行了。

代码语言:javascript复制
> 更换端口
>  默认情况下,runserver 命令会将服务器设置为监听本机内部 IP 的 8000 端口。
> 如果你想更换服务器的监听端口,请使用命令行参数。举个例子,下面的命令会使服务器监听 8080 端口:
   python manage.py runserver 8080
> 如果你想要修改服务器监听的IP,在端口之前输入新的。比如,为了监听所有服务器的公开IP
 (这你运行 Vagrant 或想要向网络上的其它电脑展示你的成果时很有用),使用:
   python manage.py runserver 0:8000
  0 是 0.0.0.0 的简写。完整的关于开发服务器的文档可以在 :djamdin:`runserver` 参考文档中找到。
会自动重新加载的服务器 runserver
用于开发的服务器在需要的情况下会对每一次的访问请求重新载入一遍 Python 代码。
所以你不需要为了让修改的代码生效而频繁的重新启动服务器。然而,一些动作,比如添加新文件,
将不会触发自动重新加载,这时你得自己手动重启服务器。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/172837.html原文链接:https://javaforall.cn

0 人点赞