参考:https://docs.djangoproject.com/en/1.9/intro/tutorial01/
环境搭建成功,开始搭建示例project。
cmd到你希望保存的目录,运行:
django-admin startproject mysite
虽然没有输出,但是dir一下就能看到效果。
注1:site名字不要用特殊词汇,比如django、test,等等
注2:工程目录尽量不要保存在第三方网站的public目录内,而是另找目录储存
startproject目录应该包括:
mysite/ manage.py mysite/ __init__.py settings.py urls.py wsgi.py
manage.py: 主控程序,支持多种命令参数,以后会常用
mysite: project名,内部的类可以用mysite.xxx调用
settings.py: 配置文件。参考https://docs.djangoproject.com/en/1.9/topics/settings/
urls.py: url生命。参考https://docs.djangoproject.com/en/1.9/topics/http/urls/
wsgi.py: wsgi兼容的web server的入口。(应该是用其他server启动django的意思)
建立project之后,可以用
python manage.py runserver
命令启动。应该能看到命令行在运行,然后打开浏览器进入localhost:8000可以看到默认页面了。
注3: runserver命令默认开启8000端口。你可以传入监听ip及端口,例如:
python manage.py runserver 0.0.0.0:8000
更多用法可参考https://docs.djangoproject.com/en/1.9/ref/django-admin/#django-admin-runserver
建立project之后,可以在其下建立app。一个app可以认为是project的一个功能点,而project是很多功能的集合。一个project可以有很多app,一个app也可以存在于很多project中。
cmd切回manage.py所在目录,运行
python manage.py startapp polls
可以建立polls app。结构如下:
polls/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py
开始写view。
打开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'),
]
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),
]
利用强大的"include"方法可以获取其下apps的urls定义。
好了,运行:
python manage.py runserver
成功!
注4: urls方法简介:
包括4个参数:
regex:必输。正则的url匹配。
view:必输。url匹配之后,这个view方法会被调用,httpRequest作为第一个参数,url匹配中匹配到的数据会作为后续参数(list 或 dict)
kwargs:可选。dict形式的参数列表,可以传递给view。
name:可选。可以用来选择template而不用改变其他文件。貌似很强。