centos环境下搭建python Django框架流程

最近在学习Django框架,目的是了解前后端开发和运行中的交互细节。目前还是新手~

下载和安装

  1. 首先linux安装python3,一般都自带了

  1. 通过pip3安装虚拟环境,在虚拟环境下开发的好处是不同的项目可能需要不同版本的 python和依赖环境,都装到一起经常会导致问题,所以需要隔离环境:

sudo pip3 install virtualenv

sudo pip3 install virtualenvwrapper

  1. 创建虚拟环境:mkvirtualenv -p /usr/bin/python3 envname #envname为自定义的项目名称

如果提示找不到 mkvirtualenv 命令,需配置环境变量:

1.创建目录用来存放虚拟环境
mkdir $HOME/.virtualenvs
2.打开~/.bashrc文件,添加两行代码
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
#如果还是提示找不到mkvirtualenv命令,可能是virtualenvwrapper.sh文件路径不对,用which找出路径
#which virtualenvwrapper.sh
#用找出的路径替换source /usr/local/bin/virtualenvwrapper.sh中的路径
3.运行
source ~/.bashrc

虚拟环境常用命令:

查看当前有哪些虚拟环境:workon
进入虚拟环境: workon  envname  #envname为虚拟环境项目名称
退出虚拟环境:deactivate
删除虚拟环境:rmvirtualenv  envname
安装django:pip3 install django
安装验证码库:pip3 install django-simple-captcha
pip3 install pytz
查看python安装库:pip3 list

创建Django项目

这里举一个案例,例如创建一个博客项目blog,它的其中一个子应用为login登录模块。

  1. 创建虚拟环境:mkvirtualenv -p /usr/bin/python3 blog

进入虚拟环境:workon blog

  1. 创建一个django项目:django-admin startproject blog

此时项目目录结构如下:

centos环境下搭建python Django框架流程_第1张图片

  1. 设置允许任何ip访问以及语言和时区,修改blog/blog/settings.py:

# 对应的字段改为如下
ALLOWED_HOSTS = ['*']
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'

如果在本地虚拟机开发需要查看防火墙是否开放了指定端口,比如本次使用8000端口;若是在云服务器上开发则需要在防火墙界面新增8000端口,否则访问不了,例如腾讯云:

centos环境下搭建python Django框架流程_第2张图片

  1. 启动django服务:python manage.py runserver 0.0.0.0:8000

第一次执行可能会报错,执行它提示的命令:python manage.py migrate

成功后再次启动django:python manage.py runserver 0.0.0.0:8000

创建Django应用

  1. 在/blog目录下有一个manage.py文件,在这里创建一个应用:

python manage.py startapp login # login为应用名

目录结构如下:

centos环境下搭建python Django框架流程_第3张图片

  1. 在/blog/blog目录下修改settings.py注册login应用:

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'login', # 注册登录应用
]
  1. 在/blog/blog目录下urls.py总路由增加login路径:

from django.contrib import admin
from django.urls import include, path  # 别忘了这里导入 include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('login/', include('login.urls')),  # 增加login路由
]
  1. 在/blog/login目录下新增urls.py文件(这一步其实可以优化):

from django.urls import path
from . import views
# 增加view的index路由
urlpatterns = [
    path('', views.index, name='index'),
]
  1. 在/blog/login目录下修改views.py:

from django.shortcuts import render

# Create your views here.

from django.http import HttpResponse  

def index(request):  
    return HttpResponse(u"欢迎!")  

此时浏览器打开http://127.0.0.1:8000/login/ 可以看到返回,由于没有写前端html显示比较简单。在本地开发就是127.0.0.1,在云上开发就是云的公网ip

  1. 创建一个超级管理员登录后台管理用户

创建默认用户模型:python manage.py makemigrations

创建默认的表:python manage.py migrate

创建超级管理员:python manage.py createsuperuser #会让你输入管理员账号密码

此时可在浏览器打开:http://127.0.0.1:8000/admin/ 登录超管,操作用户表

创建完成后数据库相关的大概目录如下:

centos环境下搭建python Django框架流程_第4张图片

其他数据库操作

重置整个数据库,删除所有数据库:python manage.py flush

重置应用程序数据库表,不删数据库:

1. python manage.py migrate login zero #login为app名字

2.删除app目录下的migrations文件夹

3.python manage.py makemigrations login

4.python manage.py migrate login

简单的django搭建和运行流程就是这样,后面再慢慢开发和研究~

学了几天目前做完简单的登录、注册、验证、退出的功能,大概是这样:

centos环境下搭建python Django框架流程_第5张图片

你可能感兴趣的:(django,python)