Python Web开发-Django2.0学习02

二、Django初体验

1、开发环境搭建

安装Python

这部分就不细讲,安装教程请参考廖雪峰的官方网站-安装Python。

**PS:**Python的开发工具推荐使用sublime3,安装和使用教程请参考sublime text 3 + python配置,完整搭建及常用插件安装。

安装Django

任何时候,都有两个不同版本的Django供您选择:最新的官方发布版和有风险的主干开发版本。安装哪个版本取决于你的选择。你需要一个稳定的通过测试的Django,还是一个包括最新功能的版本。

  • Windows系统上安装Django

这里推荐选定官方发布版,可以在官网下载。名字类似于Django-2.0.tar.gz压缩文件。解压缩之后(若解压失败,推荐使用7-Zip解压),以管理员权限启动一个DOS Shell(cmd命令提示符),然后在名字以Django-2.0开始的目录里执行如下命令:

python setup.py install

Django将被安装到你的Python安装目录的Lib\site-packages目录(Python从该目录寻找第三方库)。

  • Unix系统上安装Django

在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已经安装成功。

2、启动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.

3、第一个网页

在Django中,网页和其他内容都是由视图传递。每个视图都由一个简单的Python函数(或基于类的视图的方法)表示。Django将通过检查请求的URL(准确地说,域名后的URL部分)来选择一个视图。

定义视图函数

在mysite\mysite目录下创建文件views.py(根据自己喜好命名)。在已创建好的views.py中写入如下代码:

from django.http import HttpResponse

def hello(request):
    return HttpResponse("Hello World!")

进行URL配置

在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!

4、新建app

一个网站可能有多个功能。我们可以在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。

5、增加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,查看效果。


参考资料

  • Django官方文档
  • 自强学堂
  • 被解放的姜戈
  • The Django Book

你可能感兴趣的:(web开发)