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

端口可以修改,不详述。