合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
现在我们新建一个"pages"app,用于展示一个简单的主页。通过输入`Control + c`停止本地服务器,然后使用`startapp`命令添加"pages"。 **Command Line** ***** ``` (hello) $ python manage.py startapp pages ``` Django会自动为我们创建"pages"目录和几个文件。但是我们的hello_project不会识别它,直到我们将刚创建的app添加到hello_project/setings.py文件中的INSTALLED_APPS配置中。 Django从上到下加载app,所以一般来说,最好在他们可能依赖的内置应用程序(如admin、auth)下面添加新应用程序。 值得注意的是,我们虽然可以简单地输入应用程序的名称来加载app,但最好键入完整的名称"pages.apps.PagesConfig",这样会更加地灵活。 **Code** ***** ``` # hello_project/settings.py INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'pages.apps.PagesConfig', # new ] ``` 我们希望使用空字符串''在主页上显示内容, 现在我们可以用`include`导入"pages"应用程序的URL路由配置。 **Code** ***** ``` # hello_project/urls.py from django.contrib import admin from django.urls import path, include # new urlpatterns = [ path('admin/', admin.site.urls), path('', include('pages.urls')), # new ] ``` 代替使用template文件,我们仅需要在view层返回一条消息"Hello, World!" **Code** ******* ``` # pages/views.py from django.http import HttpResponse def home_page_view(request): return HttpResponse('Hello, World!') ``` 最后一步,在"pages"应用程序中创建一个urls.py文件,并将其链接到home_page_view。如果你在Mac或Linux计算机上,可以使用`touch`命令创建新文件。 在Windows上使用文本编辑器创建新文件。 **Command Line** ***** ``` (hello) $ touch pages/urls.py ``` 编辑urls.py文件,在顶部导入path和home_page_view函数,然后将其路由设置为''空字符串。值得注意的是,我们还为这条路由设置了一个名称"home"。 **Code** ``` # pages/urls.py from django.urls import path from .views import home_page_view urlpatterns = [ path('', home_page_view, name='home') ] ``` 访问主面的全流程如下:当用户访问主页时,它们将首先被路由到hello_project/urls.py;然后路由到pages/urls.py,最后指向返回字符串"Hello,World!"的home_page_view。 我们已经完成一个基础主页的开发,再次重启本地web服务。 **Command Line** ***** ``` (hello) $ python manage.py runserver ``` 在你的浏览器刷新http://127.0.0.1:8000/,它将输出"Hello,World!" ![](https://img.kancloud.cn/1f/b6/1fb685df70a5e36a461960cc4f46526e_1907x182.png) 现在我们将要使用Docker配置环境,请使用`Control + c`停止本地web服务,输入"exit"退出虚拟环境。 **Command Line** ***** ``` (hello) $ exit $ ``` 怎么判断是否已经退出虚拟环境? 命令行提示符上的目录名称周围不再有括号,此时尝试运行的任何Django命令都将失败。例如,尝试执行python manage.py runserver看看发生了什么。 **Command Line** ***** ``` $ python manage.py runserver File "./manage.py", line 14 ) from exc ^ SyntaxError: invalid syntax ``` 这意味着我们退出了虚拟环境,为Docker做好了准备。