Django是基于MVC的Web框架,采用Project-App开发模式。
通过 django-admin.py startproject projectname 新建Project,期间会要求填写一个超级管理员用户
进入项目文件夹通过 django-admin.py startapp appname 新建App
项目文件树如下:

项目文件下会有一个跟项目同名的文件夹用于项目中app的配置
开发流程通常是把新建的app添加到project的配置文件(setting.py)中的INSTALLED_APPS列表里,如图添加了4个app
# Application definition INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app1', 'app2', 'blog', 'tools', )
修改app下的models.py添加实体类
from django.db import models # Create your models here. # -*- coding:utf-8 -*- class Article(models.Model): title = models.CharField(u'标题', max_length=20) content = models.TextField(u'内容', max_length=255) pub_date = models.DateTimeField(u'时间', auto_now=True, null=True) def __str__(self): return self.title
修改app下的views.py添加功能
from django.shortcuts import render from django.template import loader, Context from django.http import HttpResponse from .models import Article # Create your views here. def test(request): posts = Article.objects.all() t = loader.get_template("testBlog.html") c = Context({ 'posts': posts }) return HttpResponse(t.render(c)) def index(request): return HttpResponse("<h1>Hello World! </h1>")
修改Project下的urls.py把功能与访问的url关联起来,这个是通过正则匹配url的结果来决定跳转到哪个功能
比如url如果是 / 则是第一个url的正则匹配成功,调用views.py中的index()方法,最终显示Hello World!
匹配不成功会跳转到默认404页面
from django.conf.urls import include, url from django.contrib import admin urlpatterns = [ url(r'^$', 'blog.views.index'), url(r'^tools/', 'tools.views.index'), url(r'^blog/', 'blog.views.test'), #url(r'^add/$', 'app2.views.add', name='add'), url(r'^admin/', include(admin.site.urls)), ]
最基本的修改完了,切换到cmd进入项目文件夹,借助manage.py(管理项目的文件)来启动项目
python manage.py runserver
这是在python自带的服务器上启动,而且只能本机访问默认端口为8000,访问的url其实就是 / 所以跳转到了index功能

Django有自带的管理系统,访问路径为 /admin
通过之前设置的超级用户登录进去界面如下:

此时可以添加日志模块添加文章
我自己画了一个显示所有文章的页面(不要嫌丑,只是测试模版功能),并且通过url关联完毕,访问结果如下

如果想要远程访问该项目,只需要启动的时候改为 python manage.py runserver 0.0.0.0 8000
端口可以修改,不详述。