问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

pycharm如何启动django项目(如何使用pycharm创建django项目)

发布网友 发布时间:2024-10-06 07:23

我来回答

1个回答

热心网友 时间:2024-11-26 02:56

导读:今天首席CTO笔记来给各位分享关于pycharm如何启动django项目的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

pycharm怎么建django

打开PyCharm官网,选择Download,进入下载页面。

这时会出现2个版本,左边的那个是购买版,可以试用30天;右边那个是社区版,免费的,我们一般选择右边社区版。

下载完后进行安装,一直选择下一步就可以了,我就不详细介绍了。安装完后运行PyCharm,新建项目。此时建的项目并不是Django项目,这个还需要我们自己设置。

安装Django,使用命令安装,我这里是用的cmder,非常好用的控制台命令窗口,替代了cmd。进入到Python27的目录下,使用命令pipinstallDjango==1.8.3,执行完就OK了。

新建Django项目,我这里是使用命令创建项目的。

django-adminstartprojectHelloDjango创建HelloDjango项目

然后进入到HelloDjango项目根目录下,运行命令创建hello模块

pythonmanage.pystartapphello

此时PyCharm中就有一个HelloDjango项目了。

现在我们来搭建一个简单的web服务。

修改views.py文件

修改urls.py文件

两个文件修改完后,就可以启动项目了,执行命令

pythonmanage.pymigrate

pythonmanage.pyrunserver

此时项目已经启动起来了,它会告诉我们访问地址,按照地址进行访问就OK了。

Django源码阅读(一)项目的生成与启动

诚实的说,直到目前为止,我并不欣赏django。在我的认知它并不是多么精巧的设计。只是由功能堆积起来的"成熟方案"。但每一样东西的崛起都是时代的选择。无论你多么不喜欢,但它被需要。希望有一天,python能有更多更丰富的成熟方案,且不再被诟病性能和可维护性。(屁话结束)

取其精华去其糟粕,django的优点是方便,我们这次源码阅读的目的是探究其方便的本质。计划上本次源码阅读不会精细到每一处,而是大体以功能为单位进行解读。

django-adminstartprojectHelloWorld即可生成django项目,命令行是exe格式的。

manage.py把参数交给命令行解析。

execute_from_command_line()通过命令行参数,创建一个管理类。然后运行他的execute()。

如果设置了reload,将会在启动前先check_errors。

check_errors()是个闭包,所以上文结尾是(django.setup)()。

直接看最后一句settings.INSTALLED_APPS。从settings中抓取app

注意,这个settings还不是我们项目中的settings.py。而是一个对象,位于django\conf\__init__.py

这是个Settings类的懒加载封装类,直到__getattr__取值时才开始初始化。然后从Settings类的实例中取值。且会讲该值赋值到自己的__dict__上(下次会直接在自己身上找到,因为__getattr__优先级较低)

为了方便debug,我们直接写个run.py。不用命令行的方式。

项目下建个run.py,模拟runserver命令

debug抓一下setting_mole

回到setup()中的最后一句apps.populate(settings.INSTALLED_APPS)

开始看apps.populate()

首先看这段

这些App最后都会封装成为AppConfig。且会装载到self.app_configs字典中

随后,分别调用每个appConfig的import_models()和ready()方法。

App的装载部分大体如此

为了方便debug我们改写下最后一句

res的类型是Commanddjango.contrib.staticfiles.management.commands.runserver.Commandobjectat0x00000101ED5163A0

重点是第二句,让我们跳到run_from_argv()方法,这里对参数进行了若干处理。

用pycharm点这里的handle会进入基类的方法,无法得到正确的走向。实际上子类Commond重写了这个方法。

这里分为两种情况,如果是reload重载时,会直接执行inner_run(),而项目启动需要先执行其他逻辑。

django项目启动时,实际上会启动两次,如果我们在项目入口(manage.py)中设置个print,会发现它会打印两次。

第一次启动时,DJANGO_AUTORELOAD_ENV为None,无法进入启动逻辑。会进入restart_with_reloader()。

在这里会将DJANGO_AUTORELOAD_ENV置为True,随后重启。

第二次时,可以进入启动逻辑了。

这里创建了一个django主线程,将inner_run()传入。

随后本线程通过reloader.run(django_main_thread),创建一个轮询守护进程。

我们接下来看django的主线程inner_run()。

当我们看到wsgi时,django负责的启动逻辑,就此结束了。接下来的工作交由wsgi服务器了

这相当于我们之前在fastapi中说到的,将fastapi的app交由asgi服务器。(asgi也是django提出来的,两者本质同源)

那么这个wsgi是从哪来的?让我们来稍微回溯下

这个settings是一个对象,在之前的操作中已经从settings.py配置文件中获得了自身的属性。所以我们只需要去settings.py配置文件中寻找。

我们来寻找这个get_wsgi_application()。

它会再次调用setup(),重要的是,返回一个WSGIHandler类的实例。

这就是wsgiapp本身。

load_middleware()为构建中间件堆栈,这也是wsgiapp获取setting信息的唯一途径。导入settings.py,生成中间件堆栈。

如果看过我之前那篇fastapi源码的,应该对中间件堆栈不陌生。

app入口→中间件堆栈→路由→路由节点→endpoint

所以,wsgiapp就此构建完毕,服务器传入请求至app入口,即可经过中间件到达路由进行分发。

在pycharm导入django项目

有时候,我们需要在多个地方编辑项目,这就需要在pycharm中导入django项目。首先要做的,当然是使用virtualenvwrapper来搭建虚拟环境,并且将项目中的requestrements.txt文件中的相关依赖安装好。

接下来要做的是:

在这里我们需要设置一下django项目的目录与settings文件的位置,以及启动文件的路径

以上就是项目的导入了,试试debug吧!!

结语:以上就是首席CTO笔记为大家整理的关于pycharm如何启动django项目的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于pycharm如何启动django项目的相关内容别忘了在本站进行查找喔。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... ...公测庆典完美妖约活动开放-手游资讯-安族网 ...回归!格里芬的荣光活动开放-手游资讯-安族网 ...月19日更新公告 新增官方服新服帕拉塔-手游资讯-安族网 ...之怒12月19日更新公告 圣诞节活动汇总-手游资讯-安族网 少女前线9月19日更新公告 开放作战经验1.5倍UP活动-手游资讯-安族网... 30和35的柔道,两个不同时期,穿什么装备好,有好建议的给说下,详细点... 柔道45级后应该穿什么套装啊 ...之后,开网页有时候为什么还是用IE啊,而且打不开,怎么回事啊?求高手... 柔道30封装穿什么好 柔道40-45级穿什么装备 女朋友提前任 不避讳 男生有了新的女朋友,还会想起前任吗? 求DNF柔道纯刷图加点与装备选择 DNF柔道45级以后带什么套装好? 当我们恋爱时双方之间有什么避讳话题吗? DNF45级的柔道适合带什么武器和装备? dnf柔道45级轻甲装备穿什么好 DNF45级柔道带什么装备好 宽檐组下级分类 烟台补血草形态特征 ...传说时光酒馆活动大全 时光酒馆活动详解-手游活动-安族网_百度... 诛仙手游4月26日更新公告 活跃度宝箱大放送-手游资讯-安族网_百度... ...4月20日更新公告 两倍几率召唤5星英雄-手游资讯-安族网 yy的女主播是怎么找歌的 银行利息税率是多少? 想要在yy频道里唱歌,yy的设置应该怎么调?就是怎么样才能让别人听到自己... windows打印机任务一闪而过怎么解决呢? 想学好哲学需要买什么书籍? 桌面上的图片无法用windows图片和传真查看器打开,预览(一闪而过) YY卡拉OK后使用软件混音,就提示要重启播放器如果不重启的话就听不到... windows上任何程序在保存文件的时候,刚被打开的保存对话框一闪而过,没... 为什么在masm for windows 集成实验环境共享版中的生成的可执行文件一... windows隔段时间弹出一次命令符,一闪而过,怎么回事 大学生贫困证明(要写出父亲亡故,母亲生病)求帮助? 魔兽世界PK视频哪些网站比较好我玩的法师 win10用pr不能显示全部的东西pr为什么不能显示整个的画面 下载的魔兽视频 怎么看啊 球步骤!! 谢谢 啊!! 请问谁知道什么可以看魔兽视频的好网站 昨天买了个镯子,鉴定证书上写翡翠A货,可是怎么都觉得自己好像被坑了,求... ...是真的和它的价格,买的时候告诉我是缅甸翡翠a货