用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

用Pycharm创建第一个Django程序(二)


接下来让我们来创建一个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


用Pycharm创建第一个Django程序(二)


我们会发现多出了一个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


用Pycharm创建第一个Django程序(二)


可以看到我们配置的页面成功访问


index就是我们在project中的urls文件中配置的index

你也可以尝访问以前有的admin试试看是什么效果哦


上一篇:Django使用数据库(Mariadb/Mysql)


下一篇:Android OpenCv进行图片比对