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