添加一个Django App
在新建完Django项目之后,就需要添加自己的功能模块了。
Django使用app的概念来组织不同的功能。实际上就是一堆符合Django要求的python模块。
使用命令
python manage.py startapp myfirstapp
可以看到Django的manage.py会自动帮我们建立一个myfirstapp的模块。
首先是apps.py
是Django的app定义文件,Django应用加载需要用到这个文件。
第二个是models.py
是Django的模型定义文件,Django使用自己的ORM库来实现python类到数据库的映射。这边的类就用来实现对象和表格的映射关系。默认是空的,Django可不知道你需要哪些数据。但是留下了这个接口,他会从这个文件加载模型。
第三个是tests.py
当今软件的复杂性导致对测试的重视,每个模块都该拥有自己的测试。这个文件就为你留下了写测试代码的地方。
然后是views.py
这个文件是用来写页面请求响应的。一个view实现HTTP请求到HTTP响应的转换。作为一个Web framework这是基本的需求。
我们就在这边写上我们的一个view,返回一个Hello页面。
View有了,接着缺少的就是这个view到url的映射关系。
新建myfirstapp/urls.py,加上映射关系。
这个url的映射关系只是作用于myfirstapp这个应用,而这个Django的Web服务的入口点,则是在之前新建项目目录下。我们要把新建的urls.py包含到项目目录下的url映射中去。我的项目名是mysite,所以需要更新mysite/urls.py。
添加
path('myfirstapp', include('myfirstapp.urls'))
到urlpatterns变量中。
第一个myfirstapp指的是url中的一段前缀,后面include函数里面则是对应应用里面urls.py的模块名,注意这边使用的是字符串。不用把对应的模块import进来。还有就是import里面默认没有import include函数,需要把include函数import进来。
这样就完成了一个小的应用。
运行
python manage.py runserver 8000
启动web服务。
通过浏览器访问就能访问刚才定义的那个view。
閱讀更多 zhangyiant 的文章