1.创建Django项目
切换到项目路径下,执行以下命令
[C:\Users\XC\PycharmProjects]$ python C:\Users\XC\Anaconda3\Scripts\django-admin.py startproject tango_with_django_project
让我们看一下 start project 生成了什么
tango_with_django_project/
manage.py
tango_with_django_project/
__init__.py
settings.py
urls.py
wsgi.py
这些文件包括:
外层的 tango_with_django_project/ 根目录仅仅是项目的一个容器。它的命名对Django无关紧要, 你可以把它重新命名为任何你喜欢的名字。
manage.py:一个命令行工具,可以使你用多种方式对Django项目进行交互。你可以在django-admin和manage.py中读到关于manage.py 的所有细节。
内层的 tango_with_django_project/ 目录是你的项目的真正的Python包。 它是你导入任何东西时将需要使用的Python包的名字(例如mysite.urls)。
init.py:一个空文件,它告诉Python这个目录应该被看做一个Python包。 (如果你是一个Python初学者,关于包的更多内容请阅读Python的官方文档)。
settings.py:该Django 项目的设置/配置。 Django 设置 将告诉你这些设置如何工作。
urls.py:该Django项目的URL声明, 你的Django站点的“目录”。 你可以在URL 转发器 中阅读到更多关于URL的内容。
wsgi.py:用于你的项目的与WSGI兼容的Web服务器入口。更多细节请参见如何利用WSGI进行部署。
2.开发服务器
我们验证一下你的Django项目是否工作。 如果你不在外层的tango_with_django_project目录下,那么进入这个目录,然后运行以下命令:
$ python manage.py runserver
你将看到命令行下输出了以下内容:
You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
December 07, 2017 - 18:08:08
Django version 1.11.6, using settings 'tango_with_django_project.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
既然服务器已经运行,请用你的浏览器访问 http://127.0.0.1:8000/。在淡蓝色背景下,你将看到一个“Welcome to Django”的页面。它运行成功了!
3.创建Django应用
要创建您的应用程序,请确保您与tango_with_django_project.py在同一目录中,并键入以下命令:
$ python manage.py startapp rango
这将创建一个目录rango,它的结构如下:
rango/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
把rango应用添加到app元组里。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rango',
]
4.编写视图
让我们来编写第一个视图。 打开rango/views.py
文件并将以下Python代码写入:
from django.http import HttpResponse
def index(request):
return HttpResponse("Rango says hey there partner!")
这可能是Django中最简单的视图。为了能够调用这个视图,我们需要将这个视图映射到URL上 —— 利用一个URLconf。
要在rango目录中创建一个URLconf,创建一个名为urls.py
的文件。
在rango/urls.py
文件中键入如下代码:
from django.conf.urls import url
from rango import views
urlpatterns = [
url(r'^$', views.index, name='index'),
]
5.映射URLS
下一步是将根URLconf映射rango.urls模块。 在tango_with_django_project/urls.py
中,从django.conf.urls.导入include,并且插入Include()
到 urlpatterns列表, 这样你就有了:
from django.conf.urls import include, url
from django.contrib import admin
from rango import views
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^rango/', include('rango.urls')),
url(r'^admin/', admin.site.urls),
]
6.基本工作流程
创建一个新的Django项目
- python django-admin.py startproject <name>
创建一个新的Django应用
- $ python manage.py startapp <appname>
- 在
setting.py
中把新的应用添加到INSTALLED_APPS - 在项目
urls.py
中,增加个匹配到应用 - 在应用
urls.py
中,把url链接到view - 在应用的
view.py
中,创建view视图