这部分就不细讲,安装教程请参考廖雪峰的官方网站-安装Python。
**PS:**Python的开发工具推荐使用sublime3,安装和使用教程请参考sublime text 3 + python配置,完整搭建及常用插件安装。
任何时候,都有两个不同版本的Django供您选择:最新的官方发布版和有风险的主干开发版本。安装哪个版本取决于你的选择。你需要一个稳定的通过测试的Django,还是一个包括最新功能的版本。
这里推荐选定官方发布版,可以在官网下载。名字类似于Django-2.0.tar.gz压缩文件。解压缩之后(若解压失败,推荐使用7-Zip解压),以管理员权限启动一个DOS Shell(cmd命令提示符),然后在名字以Django-2.0开始的目录里执行如下命令:
python setup.py install
Django将被安装到你的Python安装目录的Lib\site-packages目录(Python从该目录寻找第三方库)。
在shell中输入如下命令:
tar xzvf Django-*.tar.gz
cd Django-*
sudo python setup.py install
确认Django是否安装成功,在python IDE中输入:
import django
django.VERSION
或者在cmd中输入:
python -m django --version
成功载入,显示2.0(本版本为2.0版本),说明Django已经安装成功。
新建一个工作目录,例如G:\djcode,然后进入该目录(把代码放置在文档根目录之外的某些目录中)。在cmd中输入:
cd G:\djcode
python django-admin.py startproject mysite
在当前目录下,将生成一个mysite文件夹,目录结构如下:
mysite
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
PS.如果用的是setup.py工具安装的Django,django-admin.py应该已被加入了系统路径中。若载入失败,请将python安装目录\Lib\site-packages\Django-2.0-py3.6.egg\django\bin加入系统环境变量path中。或者,将django-admin.py文件拷贝到新建工作目录下。
进入到项目目录里(cd mysite),在cmd中输入:
python manage.py runserver 8001
8001为端口号,如果不说明,那么端口号默认为8000。
打开浏览器,访问http://127.0.0.1:8001,可以看到服务器已经在运行:
The install worked successfully! Congratulations!
You are seeing this page because DEBUG=True is in your settings file and you have not configured any URLs.
在Django中,网页和其他内容都是由视图传递。每个视图都由一个简单的Python函数(或基于类的视图的方法)表示。Django将通过检查请求的URL(准确地说,域名后的URL部分)来选择一个视图。
在mysite\mysite目录下创建文件views.py(根据自己喜好命名)。在已创建好的views.py中写入如下代码:
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello World!")
在mysite\mysite目录下找到文件urls.py,打开修改里面代码:
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
path('hello/', views.hello),
path('admin/', admin.site.urls),
]
打开浏览器访问http://127.0.0.1:8080/hello/,即可看到Hello World!
一个网站可能有多个功能。我们可以在Django下,以应用程序app为单位,模块化的管理,而不是将所有的东西都丢到一个文件夹中。在mysite下,运行manange.py,创建一个投票应用程序-polls,在cmd中输入:
python manage.py startapp polls
根目录下出现了一个新的叫做polls的文件夹,目录结构如下:
mysite/
├── manage.py
├── mysite
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ ├── views.py
│ └── wsgi.py
└── polls
├── migrations
│ └── __init__.py
├── __init__.py
├── admin.py
├── apps.py
├── models.py
├── tests.py
└── views.py
除此,还需修改项目设置,说明我们要使用polls。在mysite/setting.py中,在INSTALLED_APPS中,增加”polls”:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'polls',
]
可以看到,除了新增加的polls,Django已经默认加载了一些功能性的app。
下面为app增加首页。首先,在polls/views.py增加如下代码:
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
return HttpResponse('Hello, world! You\'re at the polls index. ')
要调用视图,我们需要将它映射到一个URL。为此,我们需要一个URLconf。在polls中进行URL配置,创建一个名为urls.py的文件,代码如下:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name = 'index')
]
下一步是将URL指向polls.urls模块,在mysite/urls.py中设置URL访问对象。代码如下:
from django.contrib import admin
from django.urls import path, include
from . import views
urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
path('hello/', views.hello),
]
PS.include()函数允许引用其他URLconf,当包含其他网址格式时,请务必使用。
访问http://127.0.0.1:8001/polls,查看效果。
参考资料