指南:本文的首席执行官注释将向您介绍Django与如何制作软件的关系。我希望这对每个人都会有所帮助。让我们来看看。
最后一个问题(Web网页个人开发的软件和配置基础)已详细介绍了基于Django+MySQL+Pycharm的Web开发的基础架构开发。本期将遵循作者编写第一个网页。他本人以及与作者同一局域网的其他用户也可以访问。
首先输入python manage.py startapp myfamilyweb(指示创建自己的网页项),如图1所示。
生成的myFamilyWeb中目录结构中的含义如下:
外层的_init_.py文件标识MyFamilyWeb是一个Python软件包。
Admin.py用于将模型定义注册到管理背景,这是Django Admin应用程序的配置文件。
apps.py用于应用程序本身的配置。
迁移目录用于将模型的定义和修改存储在模型文件中。
迁移/_init_.py文件标识迁移是一个Python软件包。
Model.py用于定义应用程序中所需的数据表。
tests.py文件用于编写当前应用程序的单元测试。
views.py文件用于编写应用程序视图。
上述介绍是MyFamilyWeb应用程序的所有内容。将来需要做的是填充相应的服务逻辑以提供服务。如果这是开始,您将发现无法如图2所示访问它。
如果要访问第一个网页(MyFamilyWeb),第一步是设置路由并添加一个函数以访问views.py(图3-图6)。
配置模板和HTML(图7位数13)
该配置已编写了第一个和最简单的网页来启动服务器。记录(图14)
在开发人员的计算机上访问浏览器(图15)
(配置防火墙端口)(图16)
设置以允许多个主机访问(图17)
输入ipconfig到终端
输入IPv4地址:192.168.0.102(图18)
python manage.py runserver 0.0.0.0:8000(启动时添加了0.0.0.0.0:8000)。
然后,本地网络中的其他计算机可以在浏览器中访问您的IP地址(此URL只能由同一局部网络的主机访问)
之后,我去学习如何编写HTML文件。
如果您想创建一个论坛应用程序,则可以尝试多个社区。简单和实用。
Django可以在一个项目中拥有多个应用程序。例如,大型门户可以包括论坛,新闻和其他内容。每个模块称为一个应用程序,也可以理解为一个独立的小型项目。该网站最终呈现给用户
该测试是Python 2.7
其次,相应的应用模块分别建立:todo,oa,web
如图所示:
在上面的配置中,引入Inclubly以包装配置
同时,介绍了索引函数,并建立了TODO,OA和Web中索引中的视图文件
同时,指定了一个打开的默认主页,即
此时,运行程序,该页面显示在图中
如果此时输入的路径是Localhost:8000/web/inex,
Localhost:8000/OA/INEX,
Localhost:8000/TOTO/索引将由不同的应用显示,
python使Exe可执行文件使用Pyinstaller
Python可以在Windows下生成EXE格式:PY2EXE众所周知。今天,我想介绍Pyinstaller。该工具可用于整个平台。我使用Python为公司同事制作工具程序。由于该公司使用了许多Mac Linux窗口,因此它已将其用于将程序制成可执行文件,这将是不错的,但是它将在Linux平台上使程序和MacThe平台启动较慢(Windows速度更快),很快),但这基本上足够了。
安装Pyinstaller后,您可以启动。
1.使用pyinstaller生成可执行文件
1.1将文件依靠到文件夹:
pyinstaller -d -w main.py #replace main.py到您的主入口python文件。
-w参数代表main.py是一个窗口程序。
1.2将所有因文件包装到同一可执行文件中:
pyinstaller -f -w main.py
2.研究Pyinstaller生成程序的加载过程
使用以下命令,您可以获取运行,道和加载程序的加载过程。
pyinstaller -fwd aui.py #replace aui.py到您需要检测到的文件。
老实说,直到到目前为止,我都不欣赏django。这不是我的认知中的微妙设计。这只是功能所积累的“成熟解决方案”。但是,一切的兴起都是时代的选择。您不喜欢它,但需要它。希望有一天,Python可以拥有越来越丰富的成熟解决方案,并且不再因性能和维护而受到批评。(Fit End)
将其本质带到滴度上,Django的优势很方便。我们的源代码阅读的目的是探索其便利性的本质。阅读源代码的计划对每个地方都不好,而是解释功能的功能。
django-admin startproject helloworld可以生成django项目。命令行是EXE格式。
manage.py将参数交给了命令行。
execute_from_command_line()通过命令行参数创建管理类。然后运行他的execute()。
如果设置了重新加载,请在启动之前检查_errors。
check_errs()是一个关闭,因此在上一篇文章的末尾是(django.setup)()。
查看最后一个句子设置.installed_apps.grab从设置
请注意,此设置不是我们项目中的设置。
这是设置类的懒负载包装包装,直到__getAttr __。然后从设置类的实例中获取值,然后说将其分配给您自己的__ -dict__(我会直接找到它下次我自己,因为__getAttr __优先级)
为了促进调试,我们直接编写一个run.py。
在项目下创建一个run.py,以模拟运行服务器命令
调试抓取设置_MODULE
回到setup()中的最后一句话
开始观看apps.populate()
首先查看本段
这些应用最终被封装在appconfig中。
随后,调用了每个AppConfig的import_models()和ready()方法。
应用程序的加载部分通常是这样的
为了促进调试,我们重写了最后一句话
RES的类型是命令django.contrib.staticfiles.management.commands.runserver.com和object at 0x00000101ED5163A0
重点是第二个句子,让我们跳到run_from_argv()方法,这是几个处理参数。
用Pycharm指向手柄将进入基类,该基类无法获得正确的方向。实际上,子类已重写此方法。
这里有两种情况。如果加载重新加载,它将直接执行inner_run(),并且项目首先从其他逻辑开始。
当Django项目启动时,它实际上将启动两次。如果我们在项目入口(Manage.py)中设置一个贴心,您会发现它将打印两次。
在第一个启动开始时,django_autoreload_env却没有,无法输入启动逻辑。将输入crandt_with_reloader()。
在这里,您将将django_autoreload_env放置为true,然后重新启动。
第二次,您可以输入启动逻辑。
在此创建一个Django主线程以传递innit_run()。
随后,此线程创建了一个旋转式,通过reloader.run(django_main_thread)询问监护过程。
让我们看一下django innion_run()的主线程。
当我们看到WSGI时,Django的启动逻辑已经结束。下一个作业已移交给WSGI服务器
这相当于我们之前在Fastapi中所说的话,然后将Fastapi的应用程序交给ASGI服务器(ASGI也是Django提出的,这两个基本上是同源的)
那么WSGI来自哪里?让我们回头回去
此设置是一个对象,它已从以前的操作中从settings.py配置文件中获取了自己的属性。因此,我们只需要转到settings.py配置文件即可找到。
让我们找到此get_wsgi_application()。
它将再次调用setup(),返回WSGIHANDLER类的实例很重要。
这是WSGIAPP本身。
load_middleware()是WSGIAPP构建中间件堆栈的唯一方法。
如果您之前阅读了FastAPI源代码,则应该对中间件堆栈不陌生。
应用程序入口→中间件堆栈→路由→路由节点→端点
因此,WSGIAPP已完成此操作,并将服务器传递到应用程序入口的请求中,并且可以通过中间件与该路由分配。
设计和实施基于Python的个人博客系统,您需要完成以下功能
完成个人博客系统的设计和开发
用户可以通过个人博客系统发布最新日志
使用您学会的理论和实践来分析遇到的问题,以提高您的做法,思考和解决问题
主要模块如下
文章管理模块:主要功能是登录到管理员系统管理员,删除不良文章和其他功能后浏览文章
标签管理模块:主要功能是在登录到管理员系统管理员后浏览专辑,删除相册和其他功能
文章,标签浏览模块:主要功能是在游客进入系统之后。您可以浏览文章列表,您可以根据标签查看文章
评论系统模块,游客可以发表其他人的评论
安装和使用
该项目是由Django框架开发的。Django是快速网络开发(几乎没有人)的绝佳解决方案。获得源代码后
创建一个新的MySQL数据库,以将数据库SQL文件导入到
在源代码软件包中修改csworkblog/settings.py文件,更改数据库变量中的内容。这是您本地数据库URL和用户名密码。其中,名称是您的数据库名称。
输入源代码软件包,打开CMD,运行命令python manager.py runserver启动服务,端口为8000
对于背景管理接口,管理员的用户名密码为管理员123456,可以通过文章管理标签管理评论管理管理
接口仍然更好,项目屏幕截图源代码下载地址CS- work.com/p/21031
结论:以上是CTO首席执行官如何向所有人介绍Django的全部内容。我希望这对每个人都会有所帮助。如果您仍然想了解有关此信息的更多信息,请记住收集并关注此网站。