• 最精简的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: edisonfeng1988@gmail.com
    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('',
    )

      

  • 相关阅读:
    HTML5 WebSocket 权威指南 学习一 (第二章 WebSocket API)
    VM虚拟机 Centos7 lnmp环境 配置域名问题 windows浏览器访问的问题
    https方式下 git push 每次都要输入密码的解决办法
    浏览器禁用Cookie
    使用Nginx反向代理进行负载均衡
    使用Ajax异步上传文件
    装配Bean
    关于Struts2配置文件名修改的问题
    NIO
    部署描述符
  • 原文地址:https://www.cnblogs.com/edisonfeng/p/3750159.html
Copyright © 2020-2023  润新知