Django学习笔记之环境搭建(一)
Django是一个高级的Python Web开发框架,它鼓励快速开发,和实用的设计。它采用了MTV的设计模式,并且它由经验丰富的开发人员来构建,
可以解决Web开发的诸多问题,因此也被称为全栈Web开发框架。它是开源的,直接可以到https://www.djangoproject.com/start/官方查看它的说明文档。
在这里主要是以Pyhton3.6为版本,逐步的说明Django框架在web开发方面的使用。首先需要来安装它,在这里假设您已经安装好了Pyhton3.6的环境
并且搭建了它的环境变量,在windows的环境中,在cmd中输入python3显示Python命令行,说明环境搭建已好,如下图所示:
在windows的cmd命令行中,输入如下命令进行安装Django,安装命令为:
pip install django
首先安装或者已经安装好了,都会显示出对应的信息,这里由于已经安装了django,它会告诉我们已经安装了django,如下图所示:
进入到Python的环境后,导入django无任何的错误提示,说明django已安装成功,如下图所示:
在如上中可以看到django已经安装好并且它的版本的2.0.0的版本,截至目前django最新的版本的2.1.4的版本。
这里使用的IDE是Pycharm,在这里创建Django的项目,在Pycharm中右键选择New Project,然后选择Django的项目,如下图所示
创建blog的项目:
点击Create后,就会创建blog的django的项目。在django中,有经常使用的命令,进入到blog的项目目录,执行pyhton manage.py
后,就会显示常用的命令,如下图所示:
这里重点说明下常用的命令,具体如下:
python manage.py check:检查环境
python manage.py startapp:创建app的应用
python manage.py makemigrations:同步创建数据库的脚本
pyhton manage.py migrate: 同步数据库
python manage.py runserver:启动django自带的服务
由于django自带了服务,所以就不需要额外的web容器,它的启动命令是:pyhton manage.py runserver,启动后,默认端口是8000,
见启动的命令和启动后显示的信息,如下图所示:
在Pycharm启动的方式是执行manage.py后,点击菜单栏的run,然后点击Edit Configurations,然后填写runserver,如下图所示:
点击ok后,再次在IDE中执行manage.py,在IDE中就会启动,如下图所示:
在浏览器中访问:http://localhost:8000/,就会显示如下信息,如下图所示:
在django中,每一个app就是一个应用,django默认自带了很多的应用,创建django的项目后,在settings.py文件中,具体如下图所示:
这里创建login的app,创建的命令是python manage.py startapp login,如下图所示:
创建成功后,就会在项目下生成一个app,如下图所示:
在一个django的项目中,会有很多的app的,因此把所有的app放在一个apps的目录下,在blog的项目下创建文件夹apps,把login
复制到apps的文件夹,并且在settings.py文件中做处理,见处理的具体代码:
import os
import sys
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
在django中,或者说在web中,每一个页面访问都得需要地址,其实在django的项目中,创建后,就已经有了urls.py,它里面就是
路由的地址,但是每一个app的路由地址应该由urls.py进行分发,也就是说urls.py只记录每个app的地址,至于每个app中的地址,应该由每个
app来处理,这样方便url的维护,也比较高效。所以把urls.py复制一份到login的app下,名字修改为url.py,在urls.py中加入login的地址,见
urls.py源码:
"""blog URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.0/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('login/',include('login.url',namespace='login')),
]
在login的app中,也就是在login的views.py中编写一个函数,并且在login的url.py配置一个访问地址,来测试
是否OK,views.py的源码为:
from django.shortcuts import render,redirect
from django.http import HttpResponse
# Create your views here.
def index(request):
return HttpResponse('Hello World')
login中的url.py源码为:
from django.urls import path
from .views import *
app_name='login'
urlpatterns = [
path('', index,name='index'),
]
然后在浏览器访问:http://localhost:8000/login/,就会显示“Hello World”。