最精简的django程序

一、程序框架

1、结构图

  

2、settings.py

   1)指明templates路径

import os

BASE_DIR = os.path.dirname(os.path.dirname(__file__))



TEMPLATE_DIRS = (

    os.path.join(BASE_DIR, 'templates'),

)

   2)修改数据库连接

DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.mysql',

        'NAME': 'django_db',

        'USER': 'root',

        'PASSWORD': 'feng',

        'HOST': '127.0.0.1',

        'PORT': '3306',

    }

}

二、源码(MVC

  1、urls.py

from django.conf.urls import patterns, url, include



urlpatterns = patterns('',

    (r'^latest_books/$', 'django_web_app.views.latest_books'),

)

  2、models.py——M

from django.db import models



class Book(models.Model):

    name = models.CharField(max_length=50)

    pub_date = models.DateField()

   1)创建django_db数据库

   2)ctrl+alt+r:sql

   

   3)ctrl+alt+r:syncdb

   同步到数据库

   运行后控制台输出结果:

Creating tables ...

Creating table django_admin_log

Creating table auth_permission

Creating table auth_group_permissions

Creating table auth_group

Creating table auth_user_groups

Creating table auth_user_user_permissions

Creating table auth_user

Creating table django_content_type

Creating table django_session

Creating table django_web_app_book



You just installed Django's auth system, which means you don't have any superusers defined.

Would you like to create one now? (yes/no): yes

Username (leave blank to use 'administrator'): admin

Email address: [email protected]

Warning: Password input may be echoed.

Password: admin

Warning: Password input may be echoed.

Password (again): admin

Superuser created successfully.

Installing custom SQL ...

Installing indexes ...

Installed 0 object(s) from 0 fixture(s)



Process finished with exit code 0

  运行后的数据库结构:

  

  PS:实际上可以重复执行以上动作,原先已经创建且录入数据的表不会被覆盖

  3、latest_books.html——V

<html><head><title>Books</title></head>

<body>

<h1>Books</h1>

<ul>

{% for book in book_list %}

<li>{{ book.name }}</li>

{% endfor %}

</ul>

</body></html>

  4、views.py——C

#coding:utf-8

from django.shortcuts import render_to_response

from models import Book



def latest_books(request):

    #倒叙获取最新出版的10本书

    book_list = Book.objects.order_by('-pub_date')[:10]

    return render_to_response('latest_books.html', {'book_list': book_list})

三、测试

  1、录入测试数据

  

  2、配置测试初始页面

  

  3、运行结果:

  

  附:由于内置应用服务器默认只能本机连接,若需要从其他ip访问,需要修改如下设置:

  

    如果urls.py中没有映射任何视图,访问8000端口时会跳到django欢迎页面:

from django.conf.urls import patterns, url, include



urlpatterns = patterns('',

)

  

你可能感兴趣的:(django)