zoukankan      html  css  js  c++  java
  • Django 添加应用

    一个项目可以添加多个应用,可以使用以下两种方法来添加应用:

    [root@localhost web]$ python manage.py startapp blog
    [root@localhost web]$ django-admin.py startapp blog
    [root@localhost web]$ ll blog
    -rw-r--r--. 1 root root 63 Jan 26 08:47 admin.py       # 应用的后台管理站点配置
    -rw-r--r--. 1 root root  0 Jan 26 08:47 __init__.py    # 表明这是一个包
    -rw-r--r--. 1 root root 57 Jan 26 08:47 models.py      # 模型,负责业务对象与数据库的映射
    -rw-r--r--. 1 root root 60 Jan 26 08:47 tests.py       # 用于开发测试,编写单元测试
    -rw-r--r--. 1 root root 63 Jan 26 08:47 views.py       # 视图,负责与用户的交互,定义url


    在项目的配置文件中添加该应用:

    [root@localhost web]$ vim web/settings.py
    INSTALLED_APPS = (
        ......
        'blog',
    )


    在项目的视图文件中添加应用的URL:

    [root@localhost web]$ vim web/urls.py
    
    urlpatterns = patterns('',
        ......
        url(r'^blog/$', 'blog.views.index'),    # 表明当我访问 http://192.168.216.128:8000/blog 时,会去访问blog应用目录下的views文件里的index函数
    )
    [root@localhost web]$ cat blog/views.py    # 在views文件中定义index函数
    from django.shortcuts import render
    from django.http import HttpResponse
    
    # Create your views here.
    
    def index(request):                                  # request表示用户对页面的请求
        return HttpResponse("<h1> Hello World </h1>")    # HttpResponse()方法用于返回信息给用户请求


    启动项目并访问应用:

    [root@localhost web]$ python manage.py runserver 0.0.0.0:8000


    如下,我们是直接把HTML写在视图文件中,但实际中我们会用一个目录来保存这些HTML文件

    [root@localhost web]$ cat blog/views.py
    from django.shortcuts import render
    from django.http import HttpResponse
    
    def index(request): 
        return HttpResponse("<h1> Hello World </h1>")


    首先创建一个模板目录,使用该目录来存放HTML文件,目录名固定是 templates:

    [root@localhost web]$ mkdir blog/templates
    [root@localhost web]$ cat blog/templates/index.html 
    <html>
    
    <head>
    <title>我的第一个HTML页面</title>
    </head>
    
    <body>
    <h1> Hello World ! </h1>
    <h1> Hello Django ! </h1>
    </body>
    
    </html>


    改写视图文件:

    [root@localhost web]$ cat blog/views.py
    from django.shortcuts import render
    from django.http import HttpResponse
    from django.template import loader, Context    # loader()方法用来导入模板的HTML文件
                                                   # Context()方法用来解析模板的HTML文件
    def index(request):
        t = loader.get_template('index.html')    # 加载HTML文件,创建一个模板对象
        c = Context({})                          # 解析上下文,因为HTML文件中没有定义变量,所以不需要解析
        return HttpResponse(t.render(c))         # 最后返回渲染的模板


    启动项目并访问应用:

    [root@localhost web]$ python manage.py runserver 0.0.0.0:8000

          

  • 相关阅读:
    20080619 SQL SERVER 输入 NULL 的快捷键
    20090406 Adobe的“此产品的许可已停止工作”错误的解决办法
    20080908 Office Powerpoint 2007 不能输入中文的解决办法
    20080831 ClearGertrude Blog Skin 's cnblogs_code class
    20080603 Facebook 平台正式开放
    20080519 安装 Microsoft SQL Server 2000 时提示 创建挂起的文件操作
    test
    Linux—fork函数学习笔记
    SOA的设计理念
    Why BCP connects to SQL Server instance which start with account of Network Service fail?
  • 原文地址:https://www.cnblogs.com/pzk7788/p/10328643.html
Copyright © 2011-2022 走看看