• Django学习笔记 创建应用


    django中使用应用来分割功能。
    比如:做一个游戏网站,包含4块不同的功能:游戏新闻、游戏论坛、Blog系统、在线商城。使得结构清晰了,每一个应用实现不同的功能;便于复用:游戏新闻、游戏论坛、Blog系统中都可以用到在线商城功能。
    1.创建应用blog
    $ python manage.py startapp blog

    2.添加blog应用
    在mysite/settings.py中添加INSTALLED_APPS
    编辑mysite/settings.py
    在INSTALLED_APPS中添加'blog'

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'blog',
    ]

    blog应用目录结构

    blog/
    ├── admin.py admin相关
    ├── apps.py
    ├── __init__.py
    ├── migrations
    │   └── __init__.py
    ├── models.py 定义数据库中的类
    ├── tests.py 测试相关
    └── views.py 响应客户请求返回html页面
    不同的url生成不同的页面,其中每一个页面都是由views.py里面的代码生成的。
    初始的views.py

    from django.shortcuts import render
    
    # Create your views here.
    初始的views.py

    在blog/views.py中加入以下语句:

    def hello(request):
        return HttpResponse('<html>hello world</html>')
    from django.shortcuts import render
    from django.http import HttpResponse
    
    # Create your views here.
    
    def hello(request):
        return HttpResponse('<html>hello world</html>')
    更改后的blog/views.py

    除了需要在blog/views.py中添加hello函数用于输出hello world外,还需要在mysite/urls.py中添加url到hello函数的映射。

    具体操作就是在urlpatterns中加入一行 url(r'helloworld', 'blog.views.hello') ,如下:

    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'helloworld', 'blog.views.hello')
    ]
    """mysite URL Configuration
    
    The `urlpatterns` list routes URLs to views. For more information please see:
        https://docs.djangoproject.com/en/1.9/topics/http/urls/
    Examples:
    Function views
        1. Add an import:  from my_app import views
        2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
    Class-based views
        1. Add an import:  from other_app.views import Home
        2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
    Including another URLconf
        1. Import the include() function: from django.conf.urls import url, include
        2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))
    """
    from django.conf.urls import url
    from django.contrib import admin
    
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'helloworld', 'blog.views.hello')
    ]
    更改后的mysite/urls.py

    这样,mysite/urls.py中的urlpatterns就将helloworld对应的url映射到blog.views.hello这个函数中,但我们输入python manage.py runserver启动django测试服务器的时候输入url http://127.0.0.1:8080/helloworld 就能看到 "hello world" 的信息了。

    除了models.py和数据库相关,django1.8之后出来的migrations文件夹也是和数据库相关的。

  • 相关阅读:
    第四节:前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、Git/SVN)
    第二十三节: EF性能篇(三)之基于开源组件 Z.EntityFrameWork.Plus.EF6解决EF性能问题
    第三节:一些指令总结(Nuget、)
    第十七节:易混淆的概念(静态和非静态、拆箱和装箱)
    Java使用Log4记录日志
    Java读取xml
    C# int.ToString() 常用参数说明
    WebAPI获取客户端请求数据
    Zend Studio获取永久使用权
    template.js 模版内调用外部JS方法
  • 原文地址:https://www.cnblogs.com/moonlightpoet/p/5365552.html
Copyright © 2020-2023  润新知