Django 创建一个应用程序

1. 认识Django

  • Django是一个高级的Python Web框架,它鼓励快速开发和清洁,务实的设计。
  • 由经验丰富的开发人员构建,它负责Web开发的许多麻烦,因此您可以专注于编写应用程序,而无需重新创建轮子。
  • 它是免费的和开源的。
  • 被官方称之为完美主义者的Web框架。
  • Django可以更快地构建更好的Web应用程序并减少代码。

2. Django框架的特点:

  • 快速开发:Django的宗旨在于帮助开发人员快速从概念到完成应用程序。
  • 安全可靠:Django认真对待安全性,帮助开发人员避免许多常见的安全错误。
  • 超可伸缩性: Web上的一些最繁忙的网站利用了Django快速灵活扩展的能力

3.安装

作为Python Web框架,Django需要Python,在安装Python同时需要安装pip。

在线安装Django

pip3 install Django

检测当前是否安装Django及版本

python3 -m django --version

1.11.7

 4.创建项目

  在你即将书写项目的目录中输入一下命令来创建一个项目,最好是一个全新的空目录

  django-admin startproject mysite5.运行开发服务器
  • $ cd 进入mysite目录
  • $python3 manage.py runserver
  • 您将在命令行中看到以下输出:
    Performing system checks...
    
    System check identified no issues (0 silenced).
    
    You have unapplied migrations; your app may not work properly until they are applied.
    Run ‘python manage.py migrate‘ to apply them.(注意:现在忽略关于未执行应用数据库迁移的警告)
    
    August 07, 2017 - 15:50:53
    Django version 1.11, using settings ‘mysite.settings‘
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CONTROL-C.
    

    以上说明已经开始使用Django的开发服务器,这是一个纯粹以Python编写的轻量级Web服务器。 我们将其与Django结合在一起,因此您可以快速开发,而无需处理配置生产服务器(如Apache),直到您准备好生产。

  • 默认情况下,该runserver命令在端口8000的内部IP上启动开发服务器。当然也可以指定端口开启服务,如8080端口:
  $ python3 manage.py runserver 8080

  如果要更改服务器的IP,请将其与端口一起传递。例如:

  $ python manage.py runserver 192.168.194.132:8000

  注意:通过IP访问后报如下错误:

  DisallowedHost at /polls
  Invalid HTTP_HOST header: ‘192.168.*.*:8000‘. You may need to add ‘192.168.*.*‘ to ALLOWED_HOSTS.

  HTTP_HOST标头无效:‘192.168.*.*:8000‘。您可能需要将“192.168.*.*”添加到ALLOWED_HOSTS
  解决:
  进入 mysite/settings.py文件
  ALLOWED_HOSTS = [‘192.168.194.132‘]

6.创建一个应用程序

  •  要创建您的应用程序,请确保您与目录位于同一目录,manage.py 并键入以下命令:
  mysite$ python3 manage.py startapp polls
  • 这将创建一个目录polls,其目录如下:此目录结构将容纳轮询应用程序。

    [[email protected] demo]# tree mysite/
    mysite/
    ├── manage.py
    ├── mysite
    │   ├── __init__.py
    │   ├── settings.py
    │   ├── urls.py
    │   └── wsgi.py
    └── polls
        ├── admin.py
        ├── apps.py
        ├── __init__.py
        ├── migrations
        │   └── __init__.py
        ├── models.py
        ├── tests.py
        └── views.py
  • 定义我们的第一个视图

    我们来写第一个视图。打开文件polls/views.py 并放入以下Python代码:

    from django.http import HttpResponse
    
    def index(request):
        return HttpResponse("Hello, world. You‘re at the polls index.")
    

    下一步是将根URLconf指向polls.urls模块。 在 mysite/urls.py添加一条import用于django.conf.urls.include和插入include()的urlpatterns列表,所以你必须:

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    # url(r‘^admin/‘, admin.site.urls),
    url(r‘^polls/‘, include(‘polls.urls‘)),
]
  • 其中include()函数允许引用其他URLconfs。请注意,该include()函数的正则表达式 没有$(字符串匹配字符),而是尾部的斜杠。 每当Django遇到时 include(),它会排除与该点匹配的任何部分,并将剩余的字符串发送到随附的URLconf进行进一步处理。
  • 背后的想法include()是使即插即用的URL变得容易。由于民意调查是在自己的URLconf(polls/urls.py)中,它们可以被 放置在“/ polls /”下面,或者在“/ fun_polls /”下面,或者在“/ content / polls /”或其他路径根目录下,工作。
  • 注:include()当您包含其他网址格式时,您应始终使用。 admin.site.urls是唯一的例外。
  • 您现在已将index视图连接到URLconf中。让它验证它的工作,运行以下命令:
$ python3 manage.py runserver 0:8000
  • 在浏览器中转到http:// localhost:8000 / polls /,您应该看到文本"Hello, world. You‘re at the polls index."

7.设置Django 模板

  • 在manage.py文件的同级目录中创建一个文件夹 templates

  mysite$ mkdir templates

  • 在templates目录下创建一个hello.html文件

  

<html>
<head>
    <meta charset="utf-8">
    <title>测试模板</title>
</head>
<body>
    <h1>hello world</h1>
</body>
</html>
  • 接下来我们需要向Django说明模板文件的路径,修改settings.py,

    修改 TEMPLATES 中的 DIRS 为[BASE_DIR+"/templates",]

TEMPLATES = [
    {
        ‘BACKEND‘: ‘django.template.backends.django.DjangoTemplates‘,
        ‘DIRS‘: [os.path.join(BASE_DIR,"templates")],
        ‘APP_DIRS‘: True,
        ‘OPTIONS‘: {
            ‘context_processors‘: [
                ‘django.template.context_processors.debug‘,
                ‘django.template.context_processors.request‘,
                ‘django.contrib.auth.context_processors.auth‘,
                ‘django.contrib.messages.context_processors.messages‘,
            ],
        },
    },
]
  • 给当前的模板设置一个url路由,并配置视图

  • polls/urls.py路由
from django.conf.urls import url

from . import views

urlpatterns = [
    url(r‘^$‘, views.index, name=‘index‘),
    url(r‘^tmp/‘, views.tmp, name=‘tmp‘),
]
  • polls/views.py 视图
# 注意:需导入from django.shortcuts import render
from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world.")

def tmp(request):
    return render(request,"hello.html")
访问流程

1,在浏览器输入http://localhost:8000/polls/tmp/

2,我们的请求会被主路由 捕获 并发送给 子路由 url(r‘^polls/‘, include(‘polls.urls‘)),

3,在子路由中会被会被引导进入 views文件中的tmp方法中

4.,在views视图的tmp方法中会去加载templates文件夹下的hello.html并返回给访问者

原文地址:https://www.cnblogs.com/Fantinai/p/8289393.html

时间: 2024-11-04 09:34:18

Django 创建一个应用程序的相关文章

SpringMVC基础入门,创建一个HelloWorld程序

ref:http://www.admin10000.com/document/6436.html 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!--configure the setting of springmvcDispatcherServlet and configure the ma

(4opencv)如何基于GOCW,创建一个实时视频程序

直接使用提供的代码框架进行修改,是最快得到效果的方法:但是这样的灵活性较差,而且真正的程序员从来都不会停滞在这一步:我们需要的是"将框架解析到最小化.理清楚每个构建之间的关系",只有这样才能灵活运用. 一.准备工作 1.高拍仪已经接通,如果需要的话,还要安装驱动: 2.vs2012编程环境,能够编写Csharp和OpenCV程序(具体不清楚可以回过头来看配置): 3.是DirectShow.net(http://directshownet.sourceforge.net/docs.ht

Win32 程序开发:创建一个应用程序窗口

一.创建一个应用程序窗口 代码如下: // 头文件 #include <windows.h> // 全局变量 WCHAR g_lpszClassName[] = L"CLASSNAME"; WCHAR g_lpszWindowName[] = L"哈喽,新的征程"; // 函数声明 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // 应用程序主函数 INT APIENTRY WinMain(H

三分钟创建一个小程序-每天三分钟玩转小程序 1

点击上方"编程三分钟",马上关注,每周1.3.5定时更新. 好险,还有几分钟,差点没有赶上周五的尾巴.这次带来的是1. 小程序开发前的准备,非常的简单,让我们花三分钟创建一个小程序! 1. 注册账号 访问微信公众平台网站:https://mp.weixin.qq.com 鼠标放到小程序上 发现图案变成了,下面这样,点击[查看详情],进入小程序注册页面. 拉到最下面,出现前往注册 填写一个没有注册过公众号,也没有注册过小程序的邮箱,来注册. . 2. 激活邮箱 这个时候你会收到一封邮件(

利用django创建一个投票网站(六)

建你的第一个 Django 项目, 第六部分 这一篇从第五部分(zh)结尾的地方继续讲起.再上一节中我们为网络投票程序编写了测试,而现在我们要为它加上样式和图片. 除了服务端生成的 HTML 以外,网络应用通常需要一些其他的文件--比如图片,脚本和样式表--来帮助渲染网络页面.在 Django 中,我们把这些文件统称为"静态文件". 对于小项目来说,这个问题没什么大不了的,因为你可以把这些静态文件随便放在哪,只要服务程序能够找到它们就行.然而在大项目--特别是由好几个应用组成的大项目-

利用django创建一个投票网站(五)

创建你的第一个 Django 项目, 第五部分 这一篇从第四部分(en)结尾的地方继续讲起.我们在前几章成功的构建了一个在线投票应用,在这一部分里我们将其创建一些自动化测试. 自动化测试简介 自动化测试是什么? 测试,是用来检查代码正确性的一些简单的程序. 测试在不同的层次中都存在.有些测试只关注某个很小的细节(某个模型的某个方法的返回值是否满足预期?),而另一些测试可能检查对莫个软件的一系列操作(某一用户输入序列是否造成了预期的结果?).其实这和我们在教程的第一部分(zh)里做的并没有什么不同

用django创建一个项目

首先你得安装好python和django,然后配置好环境变量,安装python就不说了,从配置环境变量开始 1.配置环境变量 在我的电脑处点击右键,或者打开 控制面板\系统和安全\系统 -> 左边导航栏的"高级系统设置"->环境变量 -->然后你会看到下面这个界面 -> 点击这个path,然后点编辑 然后找到C:\Python27文件夹,将这个文件夹添加进去. 2.安装django 打开cmd,执行 pip install django 或者 把 这个包下载下来

django创建一个简单的web站点

一.新建project 使用Pycharm,File->New Project-,选择Django,给project命名 (project不能用test命名) 新建的project目录如下: settings.py:工程相关的配置 urls.py:网站访问入口,对应到views wigs.py:部署相关 manage.py:执行命令 templates:html等静态文件 备注:新建工程后需要安装django的lib包,然后验证django是否安装成功 >>> import dja

利用django创建一个投票网站(三)

创建你的第一个 Django 项目, 第三部分 这一篇从第二部分(zh)结尾的地方继续讲起.我们将继续编写投票应用,并且聚焦于如何创建公用界面--也被称为"视图". 设计哲学 Django 中的视图的概念是「一类具有相同功能和模板的网页的集合」.比如,在一个博客应用中,你可能会创建如下几个视图: 博客首页--展示最近的几项内容. 内容"详情"页--详细展示某项内容. 以年为单位的归档页--展示选中的年份里各个月份创建的内容. 以月为单位的归档页--展示选中的月份里各