当前位置:   article > 正文

centos环境下搭建python Django框架流程_django如何在centos运行

django如何在centos运行

最近在学习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. 1.创建目录用来存放虚拟环境
  2. mkdir $HOME/.virtualenvs
  3. 2.打开~/.bashrc文件,添加两行代码
  4. export WORKON_HOME=$HOME/.virtualenvs
  5. source /usr/local/bin/virtualenvwrapper.sh
  6. #如果还是提示找不到mkvirtualenv命令,可能是virtualenvwrapper.sh文件路径不对,用which找出路径
  7. #which virtualenvwrapper.sh
  8. #用找出的路径替换source /usr/local/bin/virtualenvwrapper.sh中的路径
  9. 3.运行
  10. source ~/.bashrc

虚拟环境常用命令:

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

创建Django项目

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

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

进入虚拟环境:workon blog

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

此时项目目录结构如下:

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

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

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

  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为应用名

目录结构如下:

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

  1. # Application definition
  2. INSTALLED_APPS = [
  3. 'django.contrib.admin',
  4. 'django.contrib.auth',
  5. 'django.contrib.contenttypes',
  6. 'django.contrib.sessions',
  7. 'django.contrib.messages',
  8. 'django.contrib.staticfiles',
  9. 'login', # 注册登录应用
  10. ]
  1. 在/blog/blog目录下urls.py总路由增加login路径:

  1. from django.contrib import admin
  2. from django.urls import include, path # 别忘了这里导入 include
  3. urlpatterns = [
  4. path('admin/', admin.site.urls),
  5. path('login/', include('login.urls')), # 增加login路由
  6. ]
  1. 在/blog/login目录下新增urls.py文件(这一步其实可以优化):

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

  1. from django.shortcuts import render
  2. # Create your views here.
  3. from django.http import HttpResponse
  4. def index(request):
  5. 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/ 登录超管,操作用户表

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

其他数据库操作

重置整个数据库,删除所有数据库: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搭建和运行流程就是这样,后面再慢慢开发和研究~

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/508328
推荐阅读
相关标签
  

闽ICP备14008679号