Django-01

https://docs.djangoproject.com/en/1.10/intro/


1.新建项目

python-admin startproject mysite  

2.目录

mysite/  
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py
  • The outer mysite/: 项目根目录,个项目无关,可以随时随地改名
  • manage.py: 交互式shell,可以操作项目内数据,获得model,读取db。类似于scrapy的shell
  • The inner mysite/: 项目个顶层包,import的时候,最上层包名
  • mysite/init.py: python包的标志(不然就是一个文件将爱)
  • mysite/settings.py: 项目配置文件
  • mysite/urls.py: url路由文件
  • mysite/wsgi.py: 项目部署文件(生产环境)

3.运行项目

python manage.py runserver [port]  

4.python manage.py migrate命令

如果model里面定义了新的model,对表结构进行同步
  • Change your models (in models.py).
  • Run python manage.py makemigrations to create migrations for those changes(准备好需要修改的sql)
  • Run python manage.py migrate to apply those changes to the database.(在db中执行需要求改的sql)

5.新建模块

python manage.py startapp polls  

生成文件

polls/  
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

diango项目,最上层为项目,里面每一个模块,或者说应用,才是真正实现代码的地方。可以类比于java项目的maven结构,最上层为parent依赖

5.编写页面视图

polls/views.py  
from django.http import HttpResponse


def index(request):  
    return HttpResponse("Hello, world. You're at the polls index.")

在应用路由里面,加入这个页面

from django.conf.urls import url

from . import views

urlpatterns = [  
    url(r'^$', views.index, name='index'),
]

在项目路由里面,引入应用的路由文件

mysite/urls.py  
from django.conf.urls import include, url  
from django.contrib import admin

urlpatterns = [  
    url(r'^polls/', include('polls.urls')),
    url(r'^admin/', admin.site.urls),
]

ok了~


7.升级中因为包缺陷导致安装失败

可以尝试以下安装

pip install --upgrade pip  
pip install --upgrade setuptools  
pip install ez_setup  
pip install unroll  

刘摸鱼

退堂鼓表演艺术家

杭州