1:创建工程项目
进入要放项目的文件夹,在终端输入启动项目命令(这时就会创建对应的项目文件)
在当前文件夹下,就有了个文件,叫做demo1010。

里面是一个"demo1010"的文件包,加上manage.py文件,打开demo1010文件夹,里面文件如下。
okk,咱们用软件打开看下是什么。
它很重要,我们之后启动项目就得靠它。执行它可以启动与他同一路径的django项目(当然,任何项目都可以用命令行启动。)进入manage.py,看看文件里面默认写了什么。
文件就是设置了环境变量:'DJANGO_SETTINGS_MODULE",读取项目中的settings文件,
" execute_from_command_line(sys.argv)" 通过execute_from_command_line处理Django管理命令
另外增加了一个异常处理,处理django未安装配置好的情况。
1:settings.py
前面已经默认把settings文件设置为环境变量,设置信息都读取这里,其实顾名思义也猜到这个文件是设置项配置,先看看默认提供的文件写了啥。
里面注释非常详细,设置了地址,密钥,可信任hosts、db配置等。
虽然不懂,看着这两块地方也是我们以后要更改的地方,这里默认提供了Django的自带数据库sqlite3,如果要换db,这里的默认库要改,至于host,顾名思义,如果启动项目需要别的(非本机)服务器等访问,得加上要访问的机器Ip.
至于installed_apps,templates,moddleware,暂时不清楚,先放着。
urls.py
Django 项目的 URL 声明文件,如果之后要增加页面,需要网页能跳转到新的页面上去,必须要在这个文件声明。
在这里加上path,前面的"admin/"可以自己配置,是跳转页面时浏览器后面拼接的子路径名称,后面的是文件名,比如说之后要跳转到页面A,这里就写path("apage/",a)。
init.py
空文件,这个是pthon里面。为了让python知道这个是个包的作用。
asgi.py:作为你的项目的运行在 ASGI 兼容的 Web 服务器上的入口。
wsgi.py:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。
我本次都用不到,就不改。
启动默认项目
进入项目路径,启动项目。这里就用到前面的manage.py了。
启动结果如下:
红色的忽略,migration是数据库初始化操作,我还没弄到数据库。黄色的也忽略,我这种启动项目方式只适合本地自己玩玩,如果要产品化,还是要用wsgi或asgi。
按照提示,访问网址看看。
很不错,成功了。但是这时再看终端任务栏,又有错误了。
怎么404了呢,看着像是这个图标项目没有配置,不过我们确实啥都没操作,暂且不管。
继续创建应用
进入manage.py所在的路径,创建应用
刷新看下最新项目结构。
然后我们主要的代码开发在刚创建的app的文件里面。其实看目录页很清晰,
views:里面放视图;
tests:单测
models:放model
apps:进行app的申明。
migrations:db相关操作。
创建了项目怎么还要创建app

官方解释如上,大致理解就是,项目类似于创建了个公司,应用类似于公司下的各个业务实线,在业务线做具体的事情,项目进行调配管理。
在APP中编写一个view,实现路径跳转
1:先编写view
python
from django.http import HttpReponse
def index(request):
return HttpReponse("it's index view page!")
2:在APP中新建urls.py文件
这个不难理解,项目可以管控多个应用,应用内部也是有多个页面的,跳转路由逻辑也是需要管控,主要在这个文件进行配置。
python
from django.urls import path
#要跳转到前面的视图,需要把这个视图引入,这样可以具体到跳转这个视图对应的方法A,因为view文件与当前文件在同一目录,所以是from .
from . import views
ulrpatterns=[
#path参数是url地址,view视图,这里地址配的""表明是根路径,视图对应的是views里面的index函数,name是为这个路由命名为index
path("",views.index,name="index"),
]
重要:易错点
上述代码,我习惯性在写的时候,写成了
path("",views.index(),name="index"),
然后启动服务就报错了,在这里需要注意
path的参数是url,view,name;第二个参数对象是view,这里应该指向的函数对象本身,如果加了括号,就变成了函数的调用结果,这样对导致django在路由配置阶段直接执行函数,而不是请求的时候再调用。
URL配置的时候只需要传递视图函数的引用,这样在匹配到请求路径后会自动调用该函数,并传入httprequest对象做参数。
3:在项目路由中配置
urlpatterns是个列表,直接在后面新增path即可,因为跳转的url不同(需要到app下面去找url,用include函数)
path("app1010/",include("app1010.urls")),
上述语句相当于告诉项目路由,我还有条路径,url地址为"baseurl/app1010/",对应的url视图在应用app1010的urls中。
note!
这里路由连接的是应用app1010下的urls整个文件,但是我们这个文件里面就一个urlpatterns列表,也是可以放多个路由的,这里是把文件中的多个路由都引入申明了,之后继续在第二步增加路由,也能正常跳转
4:查看结果

这个是动态获取自动重载的,之后编辑修改项目,点击空白处,就会自动重载,浏览器会显示最新的。
文末附上官方的解释。官方解释更为简明。