创建Django(2.1.15) 工程项目

1. 环境安装

1. 创建虚拟环境

mkvirtualenv helloDjango -p python3

注意需要联网,也可以pycharm直接创建,红色框框后面填写虚拟环境的名称再点击ok即可
Django工程-项目工程搭建(一)_django

2. 安装Django

pip install django==2.1.15

2.创建工程

在django中,项目工程目录可以借助django提供的命令帮助我们创建。
1.创建工程的命令为:

django-admin startproject 工程名称

例如:创建一个helloDjango的工程:

cd ~/Desktop/code
django-admin startproject helloDjango

执行后,会多出一个新目录名为demo,此即为新创建的工程目录。
2. 工程目录
Django工程-项目工程搭建(一)_依赖包_02

  • 与项目同名的目录,此处为helloDjango。
  • settings.py 是项目的整体配置文件。
  • urls.py 是项目的URL配置文件。
  • wsgi.py 是项目与WSGI兼容的Web服务器入口。
  • manage.py 是项目管理文件,通过它管理项目。

3. 运行开发服务器
在开发阶段,为了能够快速预览到开发的效果,django提供了一个纯python编写的轻量级web服务器,仅在开发阶段使用。

运行服务器命令如下:

python manage.py runserver ip:端口
或:
python manage.py runserver

或者使用pycharm运行
Django工程-项目工程搭建(一)_依赖包_03
终端出现以下信息说明运行成功
Django工程-项目工程搭建(一)_django_04

3.创建子应用

1. 创建
在虚拟环境下切换至对应的目录:

python manage.py startapp 子应用名称

manage.py 为上述创建工程时自动生成的管理文件。

例如,创建一个用户users子应用模块,可执行:

cd ~/Desktop/code/helloDjango
python manage.py startapp users

执行后,可以看到工程目录中多出了一个名为users的子目录。

2. 子应用目录
Django工程-项目工程搭建(一)_django_05

  • admin.py 文件跟网站的后台管理站点配置相关。
  • apps.py 文件用于配置当前子应用的相关信息。
  • migrations 目录用于存放数据库迁移历史文件。
  • models.py 文件用户保存数据库模型类。
  • tests.py 文件用于开发测试用例,编写单元测试。
  • views.py 文件用于编写Web应用视图。

3. 注册安装子应用
创建出来的子应用目录文件虽然被放到了工程项目目录中,但是django工程并不能立即直接使用该子应用,需要注册安装后才能使用。

在工程配置文件settings.py中,INSTALLED_APPS项保存了工程中已经注册安装的子应用,初始工程中的INSTALLED_APPS如下:
Django工程-项目工程搭建(一)_依赖包_06
注册安装一个子应用的方法,即是将子应用的配置信息文件apps.py中的Config类添加到INSTALLED_APPS列表中。

例如,将刚创建的users子应用添加到工程中,可在INSTALLED_APPS列表中添加'users.apps.UsersConfig'"users"都可以。

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'users.apps.UsersConfig',
    # 'users',
]

4.创建视图

Django的视图是定义在子应用的views.py中的。

  1. 创建
    打开刚创建的users模块,在views.py中编写视图代码。
from django.http import HttpResponse

def index(request):
    """
    index视图
    :param request: 包含了请求信息的请求对象
    :return: 响应对象
    """
    return HttpResponse("hello django!")

def hello(request):
    """
    index视图
    :param request: 包含了请求信息的请求对象
    :return: 响应对象
    """
    return HttpResponse("hello!!!")

def world(request):
    """
    index视图
    :param request: 包含了请求信息的请求对象
    :return: 响应对象
    """
    return HttpResponse("world!!!")

说明:

  • 视图函数的第一个传入参数必须定义,用于接收Django构造的包含了请求数据的HttpReqeust对象,通常名为request。
  • 视图函数的返回值必须为一个响应对象,不能像Flask一样直接返回一个字符串,可以将要返回的字符串数据放到一个HTTPResponse对象中。
    1) 在子应用中新建一个urls.py文件用于保存该应用的路由。
    2. 定义路由URL
    Django工程-项目工程搭建(一)_虚拟环境_07
    2) 在users/urls.py文件中定义路由信息。
from django.conf.urls import url
from django.urls import path

from . import views

# urlpatterns是被django自动识别的路由列表变量
urlpatterns = [
    # 每个路由信息都需要使用url函数来构造
    # url(路径, 视图)
    path(r'index', views.index),
    path(r'hello', views.hello),
    path(r'index/world', views.world),
]

3) 在工程总路由demo/urls.py中添加子应用的路由数据。

from django.conf.urls import url, include
from django.contrib import admin
from django.urls import path

import users

urlpatterns = [
    path('admin/', admin.site.urls),
    # 添加
    path('', include('users.urls')),
]

4) 启动运行
重新启动django程序

python manage.py runserver 8087

访问127.0.0.1:8087/index
Django工程-项目工程搭建(一)_依赖包_08
访问127.0.0.1:8087/index/world
Django工程-项目工程搭建(一)_django_09
django2.0的项目到此就算是搭建完成了!
希望可以帮助到你!!!

ps:虚拟环境和pip的命令

虚拟环境

mkvirtualenv  # 创建虚拟环境
rmvirtualenv  # 删除虚拟环境
workon  # 进入虚拟环境、查看所有虚拟环境
deactivate  # 退出虚拟环境

pip

pip install  # 安装依赖包
pip uninstall  # 卸载依赖包
pip list  # 查看已安装的依赖包
pip freeze  # 冻结当前环境的依赖包