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

如何打开别人额django项目(2023年最新整理)

发布网友 发布时间:2024-09-29 04:08

我来回答

1个回答

热心网友 时间:2024-09-30 20:14

导读:本篇文章首席CTO笔记来给大家介绍有关如何打开别人额django项目的相关内容,希望对大家有所帮助,一起来看看吧。

Djago如何启动项目和连接

1:

这三个按钮都是向下的三角,应该是切换项目的

2:在django的项目里链接数据库都是在settings.py文件中配置的

????'default':?{

????????'ENGINE':?'django.db.backends.oracle',

????????'NAME':?'orcl',

????????'USER':?'admin',

????????'PASSWORD':?'summer',

????????'HOST':?'10.1.1.244',

????????'PORT':?'1521',

????},

django写的网页我想让别人也能够访问,应该怎么配置地址呢,现在只有连上和我一样的局域网的电脑才能访问

你这个问题应该是没有做过,你现在做的部分叫做服务器。

如果要别人通过ip来访问你的服务器,需要购买一个公网IP,这个是真正的IP地址,局域网那个是内部的。购买的话,途径有去供应商,比如电信公司网页去找,或者用阿里云服务器,自送一个IP。

在拥有公网IP的情况下,需要购买域名,即这个,购买后在相关网页上把公网ip和域名填写在一起,就绑定了,别人就能通过域名访问了。

这个很重要,在中国,域名是必须要去通管局注册登记的,不然会被封掉。。。

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入口,即可经过中间件到达路由进行分发。

如何在服务器上部署Django项目并使其在后台一直运行

前几天老师让我把一个Django项目(爬虫网页)放到校园内网上,但是我想先用自己的服务器来尝试一下。之前刚好有在DigitalOcean上买过服务器用来运行ss脚本,平时服务器一直放着没啥用,所以就拿它来试验一下。

废话不多说,第一步通过WinSCP软件把Django文件传到服务器上。

在服务器中安装Django需要的环境和我所需要的Python第三方库。

以上所有步骤完成后,还需要进行一步操作,这是我经历的一个坑。打开Django文件目录中的settings.py,把ALLOWED_HOSTS=[]改为ALLOWED_HOSTS=["*"]。

在服务器中打开到manage.py所在的目录,输入命令:

python3manage.pyrunserver0.0.0.0:8000

然后按下回车,在浏览器中输入:该服务器IP地址:8000,大功告成!

Attention:

1.python3不是特定的,是根据你的Django项目所需要的环境指定的。

2.8000是端口号,可以修改。

如果想要Django项目一直运行,关闭终端后还在运行,即需要运行如下命令,nohupcommand,command即位上文所说的python3manage.pyrunserver0.0.0.0:8000。

pycharmdjango怎么打开

下载Django包,解压缩。

CMD进入解压路径下。

执行:pythonsetup.pyinstall

增加环境变量:

C:\Python27\Scripts

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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
绿茶要猛冲吗,绿茶鲜嫩不需要(绿茶冲泡的正确方式) 绿茶为什么越好越不耐泡 绿茶要泡几泡?哪种绿茶最耐泡? 哪种绿茶最耐泡 职场故事:美女职员遇到暴躁老板 老板脾气坏得要命,我该怎么办 老板老爱发脾气,我们应该怎么做呀? 害怕老总发脾气怎么办 网络上用名字测和另一个人的关系准确吗 一个男生把自己的名字和另一个人的名字放在一起,中间放个"&"符号... django怎么配置url(2023年最新整理) django在哪里设置(2023年最新整理) 如何django项目(2023年最新整理) django如何设置接口(2023年最新整理) django怎么调用接口(2023年最新整理) 怎么运行django项目(2023年最新整理) 回收公司哪个好? 广东五金废铁回收哪家好 申请了一般纳税人后是否一定要购买金税公司推荐扫描仪吗 鱼翅是什么(这些知识有必要了解) 生肖小运2023年4月25日特吉次吉生肖? 电热毯用完要把线拔了吗 电热毯用完要不要把线拔了 04月27日生肖运势猴、牛、龙大吉 海宁市幼儿园有房产证户口不在海宁可以吗 海南工零是二十三年交付养老金早十三万多那退休能领到退休金多少? 海南省三亚市退休金每个月可以领取多少? 伏魔记攻略(伏魔记攻略)介绍_伏魔记攻略(伏魔记攻略)是什么 伏魔记攻略(黑白牛版伏魔记全通关攻略)介绍_伏魔记攻略(黑白牛版伏魔... 怎么把手机上的照片传到电脑里面去? 我有一张九几年的照片...到什么地方可以把它做到电脑里去??? 刷过牙嘴也臭因为什么 我早上起来有口臭可是刷过牙过一会口臭又出来了,我想问这是口腔的问题... 怎样挑选法兰绒的睡衣? 冬季选购睡衣需要注意哪些方面? 2023南宁园博园门票多少钱 附优惠政策及开放时间 2023年南宁园博园花海季·巨型稻草人王国门票价格 南宁园博园花海季... 2023南宁园博园开放时间 智能门锁系统锁定怎么办 320882身份证是哪里的 劳动仲裁给公司带来的影响 不是成都市的户口可以办成都一卡通吗?有人说今后如没有成都市的一卡通不... 成都儿童社保卡是如何的办理费用 2024年5月6日特吉生肖 2024年5月26日特吉生肖 一夫当关出处 为之以歙,应之以张的解释 规划设计注意哪些问题 为什么关了格力空调外机还在工作呢? 牛蒡茶不能和什么一起喝 牛蒡茶不能和什么一起吃