Django操作流程

Django操作流程

一、和我一起做Helloworld

创建虚拟环境

virtualenv 隔离多个项目之间的环境

pyenv 管理Python的多个版本

pip install virtualenv
virtualenv venv  --python=python3
virtualenv venv  --python=python3

激活环境

source venv/bin/activate
# 显示环境下已安装的包
pip freeze
pip list
Package    Version
---------- -------
pip        10.0.1 
setuptools 39.0.1 
wheel      0.31.0 
# 显示环境下已安装的包
pip freeze
pip list
Package    Version
---------- -------
pip        10.0.1 
setuptools 39.0.1 
wheel      0.31.0 

安装Django 1.11


pip install django==1.11pip install django==1.11

创建项目


django-admin startproject  helloworlddjango-admin startproject  helloworld

运行

cd helloworld
python manage.py runserver 
# python manage.py runserver 0.0.0.0:8888
#  sudo ufw allow 8888
python manage.py runserver 
# python manage.py runserver 0.0.0.0:8888
#  sudo ufw allow 8888

测试


http  http://localhost:8888
# http  http://10.31.161.66:8888http  http://localhost:8888
# http  http://10.31.161.66:8888

创建一个hello app


python manage.py startapp  helloapppython manage.py startapp  helloapp

写 helloapp/views.py


from django.shortcuts import render
from django.http import HttpResponse
​
# Create your views here.
​
def hello(request):
    return HttpResponse('Hello World!')from django.shortcuts import render
from django.http import HttpResponse
​
# Create your views here.
​
def hello(request):
    return HttpResponse('Hello World!')

配置 从浏览器发来的请求路由


from django.conf.urls import url,include
from django.contrib import admin
from helloapp.views import hello
​
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^hello/', hello), 
]from django.conf.urls import url,include
from django.contrib import admin
from helloapp.views import hello
​
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^hello/', hello), 
]

在settings.py中启用helloapp

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'helloapp',
] = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'helloapp',
]

Helloworld 中的 B/S架构

server : python manage.py runserver 127.0.0.1:8000

browser: http://127.0.0.1:8000/hello

Helloworld中的MTV架构

数据库 中 有 100个文章

Server:使用Python 把数据库中的100个文章读取出来,并显示在网页上。

Browser: http://10.31.161.78/articles/

 

CGI :


# 读取所有  数据
# 连接数据库
# 执行  select * from articles
# articles
# 拼接html文档(包含所有文章,文章如何显示)
html = ""
html +=  " 
# for article in articles:
​
​
    # 读取所有  数据
# 连接数据库
# 执行  select * from articles
# articles
# 拼接html文档(包含所有文章,文章如何显示)
html = ""
html +=  " 
# for article in articles:
​
​
    

如果使用MVC

解耦

 

 

M:Model, 对数据的抽象,它不是数据,它是数据的接口。


例如:  article表
​
class  Article():
​
    title,content
​
Article.object.all()
Article.save()
​例如:  article表
​
class  Article():
​
    title,content
​
Article.object.all()
Article.save()
​

V:View,负责把数据格式化后展现给用户。

C:Controller,根据具体的request,控制model获取相应的数据,把数据传给对应的视图View。

Django中的MVT

传统MVC中的V : 展现数据 (展现哪些数据+ 如何展现)

M:Model

V: View ( 展现哪些数据)

T: Template(如何展现)

 

Admin管理

  1. 查看数据库

    
    sqlite> .tables
    django_migrations
    sqlite> sqlite> .tables
    django_migrations
    sqlite> 
  2. 创建表(迁移数据库)

    
    python manage.py makemigrations
    python manage.py migrate  # 创建表python manage.py makemigrations
    python manage.py migrate  # 创建表

3. 创建超级用户3. 创建超级用户

python manage.py createsuperuser


4. 测试4. 测试

python manage.py runserver

   在浏览器中输入  http://localhost:8000/admin

## pyenv的使用
​
1. 安装pyenv
​
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
```## pyenv的使用
​
1. 安装pyenv
​
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
```
  1. 重新载入配置文件

    
    source ~/.bash_profile
    source ~/.bashrcsource ~/.bash_profile
    source ~/.bashrc
  2. 查看pyenv使用指南

    
    pyenv --helppyenv --help
  3. 查看使用pyenv可以安装的Python版本

    
    pyenv  install --list|grep pythonpyenv  install --list|grep python
  4. 使用pyenv安装不同的版本

    
    pyenv install -v 3.6.0pyenv install -v 3.6.0
  5. 查看pyenv已经安装的版本

    
    pyenv versionspyenv versions

    使用 pyenv切换使用的Python版本

    
    pyenv global 3.6.0pyenv global 3.6.0
  6. 使用pyenv卸载指定的Python版本

    
    pyenv uninstall 2.7.10pyenv uninstall 2.7.10
  7. 使用virtualenv管理不同的项目

    virtualenv本身是一个独立的项目,用以隔离不同项目的工作环境。

    安装和使用方法<略>

  8. 安装和使用pyenv-virtualenv插件

    安装

    
    git clone https://github.com/yyuu/pyenv-virtualenv.git ~/pyenv/plugins/pyenv-virtualenv
    echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
    source  ~/.bash_profile
    pyenv help virtualenvgit clone https://github.com/yyuu/pyenv-virtualenv.git ~/pyenv/plugins/pyenv-virtualenv
    echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
    source  ~/.bash_profile
    pyenv help virtualenv

    使用

    
    pyenv virtualenv 2.7.13 first_project
    pyenv virtualenv 2.7.13 second_project
    pyenv virtualenvs
    pyenv activate first_project
    pyenv deactivate
    pyenv activate second_project
    pyenv virtualenv-delete first_projectpyenv virtualenv 2.7.13 first_project
    pyenv virtualenv 2.7.13 second_project
    pyenv virtualenvs
    pyenv activate first_project
    pyenv deactivate
    pyenv activate second_project
    pyenv virtualenv-delete first_project
  9. <span style="color:#333333">由数据库生成models:    python manage.py inspectdb  > web/models.py</span>
    
    

 

 

 

猜你喜欢

转载自blog.csdn.net/owen_goodman/article/details/80957946