django如何创建一个项目(2023年最新解答)

作者&投稿:连类 (若有异议请与网页底部的电邮联系)
~

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

如何创建一个Django网站

本文演示如何创建一个简单的django网站,使用的django版本为1.7。

1.创建项目

运行下面命令就可以创建一个django项目,项目名称叫mysite:

$django-admin.pystartprojectmysite

创建后的项目目录如下:

mysite

├──manage.py

└──mysite

├──__init__.py

├──settings.py

├──urls.py

└──wsgi.py

1directory,5files

说明:

__init__.py:让Python把该目录当成一个开发包(即一组模块)所需的文件。这是一个空文件,一般你不需要修改它。

manage.py:一种命令行工具,允许你以多种方式与该Django项目进行交互。键入pythonmanage.pyhelp,看一下它能做什么。你应当不需要编辑这个文件;在这个目录下生成它纯是为了方便。

settings.py:该Django项目的设置或配置。

urls.py:Django项目的URL路由设置。目前,它是空的。

wsgi.py:WSGIweb应用服务器的配置文件。更多细节,查看HowtodeploywithWSGI

接下来,你可以修改settings.py文件,例如:修改LANGUAGE_CODE、设置时区TIME_ZONE

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_module

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

如何写第一个属于自己的Web页面(Django)

????????上期(超实用搭建个人开发Web网页的软件及配置基础)已经详细的介绍了基于Django+MySQL+PyCharm组合配置的Web开发的基础架构。这期带读者跟着作者写第一个属于自己的Web页面,同时跟作者同一个局域网的其它用户也可以访问。

首先输入pythonmanage.pystartappmyFamilyWeb(表示创建一个自己的Web页面项目),如图1。

生成的myFamilyWeb里的目录结构里的含义如下:

外层的_init_.py文件标识myFamilyWeb是一个Python包。

admin.py用于将Model定义注册到管理后台,是DjangoAdmin应用的配置文件。

apps.py用于应用程序本身的配置。

migrations目录用于存储models.py文件中Model的定义及修改。

migrations/_init_.py文件标识migrations是一个Python包。

models.py用于定义应用中所需要的数据表。

tests.py文件用于编写当前应用程序的单元测试。

views.py文件用于编写应用程序的视图。

以上的介绍都是myFamilyWeb应用的全部内容,后续需要做的就是填充对应的service逻辑对外提供服务。如果就这么启动,就会发现如图2一样访问不了。

想要实现访问自己第一个Web页面(myFamilyWeb),第一步是设置路由和在views.py增加一个可以访问的函数(图3-图6)。

配置模板和html(图7-图13)

配置写好了第一个最简单的Web页面,启动服务器。。。(图14)

在开发者电脑上的浏览器访问(图15)

(配置防火墙端口)(图16)

设置允许多个主机访问(图17)

在终端输入ipconfig

回车找到IPv4的地址:192.168.0.102(图18)

pythonmanage.pyrunserver0.0.0.0:8000(这次启动的时候在后面添加0.0.0.0:8000)。

然后本地网络中的其它计算机就可以在浏览器中访问你的IP地址了,(这个网址只能同一个局域网的主机可以访问)

之后就是好好去学习如何写html文件了。。。

django创建项目

将django-admin所在的文件夹bin放到path里

确保.py文件是用pythonconsole打开

django新建项目

win下python环境配置

1)使用pycharm--file--NewProject--Django

点击create创建,等待程序安装完毕

linux安装mysql

win安装mysql

1)配置setting

本人习惯将app放入apps里

进入apps目录下

程序目录

requirements.txt

修改django_demo/_init_.py

结语:以上就是首席CTO笔记为大家介绍的关于django如何创建一个项目的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。




如何建立django项目(python创建django项目)
导读:今天首席CTO笔记来给各位分享关于如何建立django项目的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!Windows10使用IIS部署Django项目相对于linux系统来说,Windows10下进行django项目部署要简单许多,假设已搭建python环境,以及django项目已进行静态资源的收集(执行了pythonmanage....

【django 基础】安装 | 创建 | 启动
在Django开发中,首先需要安装并配置基本环境。安装Django可通过pip命令进行,`pip install django`。安装完成后,开始创建一个新的项目。项目的结构通常包含以下组件:管理器文件 manage.py:项目的核心管理工具,用于启动项目、创建应用和数据管理。主项目目录,如`HelloWorld`,包含子目录:__init__.py:...

Django如何创建用户登录注册(django用户注册)
本篇文章首席CTO笔记来给大家介绍有关Django如何创建用户登录注册以及django用户注册的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、关于Django网站,用户注册的问题2、django1.9.5怎么建立超级用户?3、Django--快速实现用户登录4、django怎么建立sqlite3的用户名和密码??5、如何使用...

django项目如何创建数据库(2023年最新解答)
导读:很多朋友问到关于django项目如何创建数据库的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!django怎么创建mysql数据库Model是django项目的基础,如果一开始没有好好设计好,那么在接下来的开发过程中就会遇到更多的问题.然而,大多数的开发人员都容易...

如何创建django实例(django开发教程)
导读:本篇文章首席CTO笔记来给大家介绍有关如何创建django实例的相关内容,希望对大家有所帮助,一起来看看吧。如何在阿里云上部署django 前提条件 1.为Python应用程序安装virtualenv和virtualenvwrapper,目的在于为Python项目创建独立的环境。 ●安装pip sudoapt-getinstallpython-pip ●安装virtualenv sudopipinstallvirtualenv ...

django怎么创建超级用户(django创建超级用户进不了auth_user表)_百度...
Django创建超级管理员摘要:进入项目路径:pythonmanage.pycreatesuperuser按照提示输入相应的用户名,邮箱和密码即可 进入项目路径:pythonmanage.pycreatesuperuser?按照提示输入相应的用户名,邮箱和密码即可 以上是Django创建超级管理员的内容。Django1.74版本取消syncdb后,请问怎么创建admin账号1利用"Administrator"...

django如何创建app(2023年最新解答)
导读:本篇文章首席CTO笔记来给大家介绍有关django如何创建app的相关内容,希望对大家有所帮助,一起来看看吧。django一个项目多个App项目搭建django可以在一个项目中存在多个app,如一个大门户网站中可以包含论坛,新闻等内容,其中每一个模块称之为一个App,也可以理解为一个个独立的小型项目最终集成在一...

django怎么创建数据库表(django向数据库写入数据)
本篇文章首席CTO笔记来给大家介绍有关django怎么创建数据库表以及django向数据库写入数据的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、python编程--django框架,想要添加一个表进到数据库里2、Django里面怎么实现数据库视图啊就是虚拟表3、django使用已有的数据库表怎么建立model4、Django...

首先创建Django项目以及创建app(认识各个默认文件的作用)
Django项目启动前,首要任务是设置和注册app。在Django主目录下,你需要执行app的注册,这可以通过在终端中运行相关命令来完成。app注册涉及对DATABASES变量的设置,以及在settings.py中导入视图函数,如`from login1.views import login1`。对于多app的情况,包导入机制已经解决了引入和组织代码的问题。在...

『Django』创建app(应用程序)
在Django开发中,理解并创建app(应用程序)是基础且至关重要的。应用程序是独立的模块,用于实现特定功能,如博客和用户管理。通过组织代码和提高可重用性,它们支持项目的模块化和维护。要创建一个新的app,使用命令`python manage.py startapp [app_name]`,如blog。这会在项目中生成一个对应的目录。

绿春县15950433255: django创建项目 -
贰种百日: 1. 将django-admin所在的文件夹bin放到path里2. 确保.py文件是用python console打开

绿春县15950433255: 如何使用Django创建简单的博客 -
贰种百日: 第一节:开始(Starting your application) 进入到你的项目目录中,这个目录中应该包含这几个文件__init__.py,manage.py,settings.py和urls.py.我的project名字是djangorocks,如果你要用到其他名字,你需要在以后的代码中替换所有...

绿春县15950433255: 如何在网页中运行简单的python代码 -
贰种百日: 如下的方法请参考: 1 、创建一个django项目使用django-admin.py startproject MyDjangoSite 参考这里 2、建立视图from django.http import HttpResponsedef hello(request): return HttpResponse("我的第一个简单的python django项目.") ...

绿春县15950433255: 必须使用django创建数据库吗 -
贰种百日: 本文演示如何创建一个简单的 django 网站,使用的 django 版本为1.7. 1. 创建项目 运行下面命令就可以创建一个 django 项目,项目名称叫 mysite : $ django-admin.py startproject mysite 创建后的项目目录如下: mysite ├── manage.py

绿春县15950433255: windows怎么用djando创建工程 -
贰种百日: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 Web 应用程序框架.使用 Django,我们在几分钟之内就可以创建高品质、易维护、数据库驱动的应用程序.那么这里我就介绍windows 7下搭建django开发环境.一...

绿春县15950433255: 你好,请问你说要创建一个项目,然后访问默认地址,应该在哪创建项目?默认地址又是哪些?应该怎样访问? -
贰种百日: 可以在任何地方创建,在命令行中进入到你要创建项目的目录,然后执行 django-admin.py startproject mysite(这个mysite是你的项目名,可以随便取.django-admin.py位于类似C:\Python26\Lib\site-packages\django\bin这样的目录下) 然后会生成一个项目目录,进入其中,再执行 manage.py runserver,开发用的服务器就会启动.不要关闭命令行窗口,打开浏览器,键入:http://127.0.0.1:8000 就可以看到默认页面了.

绿春县15950433255: 如何在社区版pycharm中安装django -
贰种百日: django是Python的一个开源web框架,在pycharm开发环境中,pycharm专业版在新建一个项目的时候有django选项,帮助创建一个django框架的项目.pycharm社区版需要自己创建 第一步:安装django框架 可以用pycharm安装,打开file \ ...

绿春县15950433255: 用django怎样新建一个工作目录 -
贰种百日: 新建一个工程目录:django-admin.py startproject project_name 在改工程目录下创建一个 应用:cd project_name python manage.py startapp jobs

绿春县15950433255: 如何创建一个Django网站 -
贰种百日: 1. 了解Python语法和基础2. 学习Django框架使用3. 试着用django做个简单例子(博客,论坛等)4. 申请服务器和域名5. 在服务器上搭建环境和拷贝自己的代码6. 在服务器运行后,打开浏览器敲域名即可访问该网站

绿春县15950433255: django怎样自动创建数据库table -
贰种百日: django创建数据库表方法如下:catcher:mysite catcher$ python manage.py makemigrations books Migrations for 'books':0001_initial.py:- Create model Author- Create model Book- Create model Publisher- Add field publisher to book catcher...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网