用Pycharm创建第一个Django程序(二)
通过上次的学习,我们已经创建了一个Django的project,并且成功的运行了它
那么接下来我们就需要创建一个app了
什么是app
project包含一些全局配置,这些配置构成一个全局的运行平台,各个APP都运行在这个全局的运行平台上,而APP代表的是一个相对独立的功能模块,所以程序的逻辑都在APP中。
回顾一下我们project目录的结构
test1\ |---templates |---test1\ |---__init__.py |---settings.py |---urls.py |---wsgi.py |---venv db.sqlite3 manage.py
接下来让我们来创建一个app,看看我们的目录结构有什么变化
首先用鼠标选中最层的目录,接着在屏幕下面偏左的位置选择Terminal
之后再弹出的空白处回车几次就可以打开Terminal终端,相当于windows下的cmd
这样我们就不用再切去其他界面使用命令了
此时我们所处的目录应该是manage.py所在的目录(与manage.py同级)
输入以下命令创建一个名为apptest的app
python manage.py startapp apptest
此时再次观察目录结构
test1\ |---templates |---apptest\ |---migrations\ |---__init__.py |---settings.py |---urls.py |---wsgi.py |---test1\ |---__init__.py |---settings.py |---urls.py |---wsgi.py |---venv db.sqlite3 manage.py
我们会发现多出了一个apptest的目录,这个目录就是我们所创建的app了
下面介绍一下各个文件
migrations
数据移植(迁移)模块
__init__.py
声明模块,通常为空
admin.py
该app的后台管理系统的配置文件
apps.py
该app的配置文件
models.py
数据模型模块,以后创建数据表都在这里创建,数据模块,使用ORM模块,类似于mvc中的model
tests.py
自动化测试模块 django提供了自动化测试的功能,在这里编写测试脚本(语句)
views.py
执行响应的代码所在的模块 代码的逻辑主要地点 项目中的大部分代码均是在这里进行编写的
编写第一个视图
首先我们先添加如下代码到app中的views.py文件中
from django.http import HttpResponse def index(request): return HttpResponse('Hello, world.')
这就是Django中最简单的view了,同时为了能够在页面上看到效果,我们需要将一个URL映射到它
编辑project中的urls.py文件
源文件样式:
from django.contrib import admin from django.urls import path urlpatterns = [ path('admin/', admin.site.urls), ]
编辑后样式:
from django.contrib import admin from django.urls import path from apptest import views urlpatterns = [ path('admin/', admin.site.urls), path('index/',views.index), ]
首先我们引入了apptest中的views
然后我们将index/这个URL映射到了views中的index
启动这个应用并且访问我们的地址
http://127.0.0.1:8000/index
可以看到我们配置的页面成功访问
index就是我们在project中的urls文件中配置的index
你也可以尝访问以前有的admin试试看是什么效果哦
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
python 命名空间
命名空间,英文名字:namespaces 在研习命名空间以前,请打开在python的交互模式下,输入:import this >>> import this The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ...
- 下一篇
python 类的细节
下面我根据MARK Lutz的《Learning Python》中的“大师眼中的OOP”,列一些使用OOP的常见原因。 代码重用。这是很简单(并且是使用OOP的最主要原因)。通过支持继承,类允许通过定制来编程,而不是每次都从头开始一个项目。 封装。在对象接口后包装其实现的细节,从而隔离了代码的修改对用户产生的影响。 结构。类提供了一个新的本地作用域,最小化了变量名冲突。他们还提供了一种编写和查找实现代码,以及去管理对象状态的自然场所。 维护性。类自然而然地促进了代码的分解,这让我们减少了冗余。对亏支持类的结构以及代码重用,这样每次只需要修改代码中一个拷贝就可以了。 一致性。类和继承可以实现通用的接口。这样代码不仅有了统一的外表和观感,还简化了代码的调试、理解以及维护。 多态。多态让代码更灵活和有了广泛的适用性。(这似乎是OOP的属性,不是使用它的理由) 此外,对于python2来说,还有一个叫做“新式类”(new-style)的东西,这个对应于前面讲过的类,那么前面讲过的类就称为“经典”(classic)类。但是,对于Python3来讲,没有这种区别,二者融合。只是在Python2中,...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS关闭SELinux安全模块
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2整合Thymeleaf,官方推荐html解决方案