zoukankan      html  css  js  c++  java
  • 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文件夹也是和数据库相关的。

  • 相关阅读:
    Confluence 6 创建你的个人空间
    Win10正式专业版激活方法
    还在手工写接口测试文档,已经out了
    MYSQL支持的数据类型-数值类型
    mysql
    转 聊聊连接池和线程
    当压测数据压不上去时可能是哪些原因造成的
    IDEA自动导包(全局设置)
    微服务化后缓存怎么做
    win10家庭版升级到专业版密钥
  • 原文地址:https://www.cnblogs.com/moonlightpoet/p/5365552.html
Copyright © 2011-2022 走看看