2_创建应用
2017-12-22 11:49 Weiweim 阅读(268) 评论(0) 编辑 收藏 举报django-admin是Django用于管理任务的命令行工具。
另外,manage.py在每个Django项目中都会自动创建。
其中, startproject用来创建django项目,
django-admin startproject name [directory]
为当前目录或给定目标中的给定项目名称创建一个Django项目目录结构。
$ django-admin startproject mysite
* 外部mysite/根目录只是项目的容器,可以重命名。
* manage.py:一个命令行实用程序,可让您以各种方式与此Django项目进行交互。
* 内部mysite/目录是您的项目的实际Python包。它的名字是你需要用来导入任何内容的Python包名(例如mysite.urls)。
* mysite/__init__.py:一个空的文件,告诉Python这个目录应该被认为是一个Python包。
* mysite/settings.py:jango项目的设置/配置。
* mysite/urls.py:Django项目的URL声明;Django支持的站点的“目录”。
* mysite/wsgi.py:WSGI兼容的Web服务器为您的项目提供服务的入口点。Django的主要部署平台是WSGI,即Web服务器和应用程序的Python标准。
在mysite目录下运行: $python manage.py runserver
现在服务器正在运行,请使用Web浏览器访问http://127.0.0.1:8000/, 你会看到一个“恭喜!”页面,一个火箭起飞。有效!
想要在网络上的其他计算机上展示您的工作,要更改服务器的IP,请将其与端口一起传递。
$ python manage.py runserver ip:8000
刷新页面, 会显示
您需要将ip添加到ALLOWED_HOSTS设置。在你的项目settings.py文件中,像这样设置ALLOWED_HOSTS:ALLOWED_HOSTS=['198.211.99.20','localhost','127.0.0.1']
另外, 启动server时后面要加完整的地址
创建民意调查程序
在Django中编写的每个应用程序都包含遵循特定约定的Python包。Django自带了一个实用程序,可以自动生成应用程序的基本目录结构。
项目可以包含多个应用程序。一个应用程序可以在多个项目中。一个应用程序是一个Web应用程序,它执行某些操作,例如Weblog系统,项目是特定网站的配置和应用程序的集合。
我们来写第一个视图。打开文件polls/views.py并将下面的Python代码放入其中:
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
要调用视图,我们需要将它映射到一个URL - 为此,我们需要一个URLconf。要在polls目录中创建URLconf,创建一个名为urls.py的文件。
在polls/urls.py文件里应该包含如下代码
from django.urls import include, path
urlpatterns = [
path('', views.index, name='index'),
]
下一步是在rootURLconf指向polls.urls模块。在mysite/urls.py,添加
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
]
该include()函数允许引用其他URLconf。背后的想法是include()使插入和播放网址变得容易。由于民意测验是在他们自己的URLconf(polls/urls.py)中,他们可以被放置在“/ polls /”下,或者在“/ fun_polls /”下,或者在“/ content / polls /”或者任何其他路径根目录下,都能工作。
现在你已经把一个index视图连接到了URLconf中。让我们验证它的工作,运行以下命令:
$python manage.py runserver
在你的浏览器中转到http://localhost:8000/polls/,应该看到在index视图中定义的文本“Hello, world. You're at the polls index.”。
该path()函数传递四个参数,需要两个:route和view,和两个可选:kwargs和name。
path(route,view,kwargs=None,name=None)