Django2_01_初识 Django

Python publisher01 20℃

一、安装

建议在独立的 Python 环境中安装 Django, 如何创建独立的 Python 环境?

可以选择如下任意一种安装方式:

1. 安装指定版本

以下示例均采用 django2.1 版本,因为 2.2 需要 SQLite3.8

pip3 install django==2.1

2. 安装最新稳定版

pip3 install django


二、在 Shell 命令行中创建项目

1. 创建一个存放项目代码的目录

假如有独立的 python 环境,先进入这个环境

# 进入独立的 Python 环境
workon django2
# 创建目录
mkdir /django2-demo
cd /django2-demo

2. 创建项目

在 shell 命令行中运行如下命令,这将会在当前目录下创建 qfsite 目录, 同时这个也是项目名称。

django-admin startproject qfsite

注意: 创建项目的时候,项目名称不要使用和 Django 或者 Python 的内置变量、模块名称一样的名称,如: test admin 等。



三、项目目录详解

假如创建成功,应该会看到如下目录结构

.
└── qfsite
    ├── manage.py
    └── qfsite
        ├── __init__.py
        ├── settings.py
        ├── urls.py
        └── wsgi.py

这些文件含义分别是:

  • 外部qfsite/根目录只是项目的容器。它的名字对Django来说无关紧要; 你可以将它重命名为你喜欢的任何东西。
  • manage.py:一个命令行实用程序,允许您以各种方式与此Django项目进行交互。
  • 内部的 qfsite/ 目录是项目的实际 Python 包。它的名称是您需要用来导入其中任何内容的 Python 包名称(例如qfsite.urls)。
  • qfsite/__init__.py:一个空文件,告诉Python该目录应该被视为Python包。
  • qfsite/settings.py:此Django项目的配置文件,在这里可以真对这个项目进行相关的配置。
  • qfsite/urls.py:这个Django项目的URL声明;就是在这里配置项目的路由。
  • qfsite/wsgi.py:与WSGI兼容的Web服务器的入口点,用于为您的项目提供服务。就是 socket。 有关更多详细信息,请参阅如何使用WSGI进行部署

四、 启动 Django 项目

启动方式

# 共以下三种方式,选择任意一种即可
# 1. 默认监听本地回环地址的 8000
python3 manage.py runserver
# 2. 指定监听端口 8080
python3 manage.py runserver 8080
# 3. 指定 IP 和端口 8080
python3 manage.py runserver 10.18.44.130:8080

指定的 IP 也可以是 0.0.0.0, 这样会监听本主机的所有 IP

示例演示

在项目都根目录下执行如下命令,保证当前目录下有 manage.py 文件

cd /django-demo/qfsite
python3 manage.py runserver

此时应该会可能的如下信息

Performing system checks...
System check identified no issues (0 silenced).
You have 15 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.
June 14, 2019 - 02:19:24
Django version 2.1, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

这会启动这个项目,并且会启动一个测试的 web 服务器,监听到本地的 8000 端口

现在可以使用浏览器访问了, 浏览器中输入 http://127.0.0.1:8000/


image.png

四、创建第一个应用

项目和应用有啥区别?应用是一个专门做某件事的网络应用程序——比如博客系统,或者简单的投票程序,甚至是博客网站中管理用户的应用程序。项目则是一个网站使用的配置和应用的集合。项目可以包含很多个应用。应用可以被很多个项目使用。

Django 项目中一个应用本质上是一个 Python 的包。

1. 创建应用

Django 提供了创建应用的工具,它会自动的创建这个应用应该包含的最低限度的目录和文件。

下面的示例示在 manage.py 文件的同级目录下创建一个应用 “

python3 manage.py startapp users

这将会创建一个 users 目录,它的目录结构大致如下

users/
├── admin.py
├── apps.py
├── __init__.py
├── migrations
│   └── __init__.py
├── models.py
├── tests.py
└── views.py

关于这个应用的几个重要文件的含义:

  • admin.py 编写这个应用的后台管理代码,后面章节中会单独说明

  • models.py 编写这个应用的数据库映射关系 (ORM)代码

  • views.py 编写这个应用的视图函数,就是编写如何处理一个请求的逻辑代码。

五、编写视图函数

应用创建好后,就可以编写这个应用的视图函数了,用处理客户端发送过来的请求。

users/views.py 视图文件中输入以下内容

from django.http import HttpResponse
def users(request):
    return HttpResponse("Hello, 千锋云计算好程序员。欢迎来到管理用户的应用")

接收到客户端发来的请求后,会返回字符串: Hello, 千锋云计算好程序员。欢迎来到投票的应用

六、 路由系统

上一步我们编写了处理请求的视图函数,那么这个视图函数用于处理那个请求呢,这个需要有个机制用于处理每个视图函数和请求的对应关系。这里的请求成为一个路由,Django 中称为 url

一个 url 对应一个视图函数。

处理这个对应关系的系统就是 路由系统,写这个对应关系的文件就是 urls.py

这个文件应该在项目的主目录下,这里是 qfsite/urls.py

编写路由映射关系

现在就来编写它

from django.contrib import admin
from django.urls import path
# 新增  使用视图函数需要导入到这里
from users import views as users_views
urlpatterns = [
    path('admin/', admin.site.urls),
    path('users/', users_views.users),  # 新增路由映射关系
]

重启项目,测试应用的有效性

Django 会自动重新加载相关已存在的 Python 文件

用于开发的服务器在需要的情况下会对每一次的访问请求重新载入一遍 Python 代码。所以你不需要为了让修改的代码生效而频繁的重新启动服务器。然而,一些动作,比如添加新文件,将不会触发自动重新加载,这时你得自己手动重启服务器

重启需要按下 Ctrol + c, 结束当前进程,并重新输入如下命令

 python3  manage.py  runserver

目前需要在浏览器中输入如下地址访问 users 这个应用

http://127.0.0.1:8000/users/

效果图如下:


千锋云计算好程序员

非常好! 到此,需要了解的 Django 的基本使用就这么多了,接下来的章节会详细讨论各个细节。

转载请注明:Python量化投资 » Django2_01_初识 Django

喜欢 (0)or分享 (0)