博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第一个Django项目
阅读量:6453 次
发布时间:2019-06-23

本文共 2792 字,大约阅读时间需要 9 分钟。

第一个Django项目

Django是一个开放源代码的Python Web应用框架,采用了MVC的软件设计模式。

使用Python的包管理工具pip或着easy_install可以方便的安装Django。在操作系统终端执行命令:

pip install djangoeasy_install django

Django项目结构

ProjectRootDir|-- ProjectDir|   |-- __init__.py|   |-- settings.py|   |-- urls.py|   |-- wsgi.py|-- AppDir|   |-- __init__.py|   |-- urls.py|   |-- models.py|   |-- views.py|   |-- apps.py|-- manage.py|--templates

Django项目下可以包含多个Web App,每个App目录下都包含相应的.py文件

  • __init__.py: python包的标志

  • settings.py: 项目配置文件,保存了相应的配置变量

  • urls.py: 保存路由配置,将请求映射到相应的处理函数

  • wsgi.py: 兼容WSGI接口的Web服务器入口

  • manage.py: 对django-admin.py的封装,提供与项目的命令行交互

  • templates: 保存视图模板的目录

创建Django项目

如果你使用PyCharm Professional等IDE的话,它们都提供一键创建django项目的功能。

django自带的管理工具django-admin.py同样提供了创建项目的功能。

(1) 在django包安装目录下(如python/Lib/site-packages)/django/bin)下找到django-admin.py

如果你找不到django-admin.py也没关系,代码就下面几行。

只要django安装正确你可以自己建一个django-admin.py:

#!/usr/bin/env pythonfrom django.core import managementif __name__ == "__main__":    management.execute_from_command_line()

如果创建项目时出现编码问题(尤其是使用Python2的同学), 可以重写一下django-admin.py设置编码:

#!/usr/bin/env pythonfrom django.core import managementimport sysreload(sys)sys.setdefaultencoding('utf-8')if __name__ == "__main__":    management.execute_from_command_line()

(2)建立Project

执行python django-admin.py startproject <project-name>

(3)建立App

执行python django-admin.py startapp <app-name>

然后将App目录移入Project。

也可以在Project目录下执行python manage.py startapp <app-name>.

在project目录下创建FirstDjango应用,并在settings.py的INSTALLED_APPS中添加应用名'FirstDjango'。

编写视图函数

在FirstDjango下创建一个view.py,并编写代码:

from django.http import HttpResponsedef sayHello(request):    return HttpResponse('

Hello World

')

视图函数接受HttpRequest封装对象,并以字符串的形式返回响应的html代码。

配置路由

urls.py文件中包含一个urlpatterns对象,在其中添加到sayHello的映射:

from django.conf.urls import urlfrom django.contrib import adminfrom FirstDjango.view import hellourlpatterns = [    url(r'^admin/', admin.site.urls),    url(r'^hello/', hello)]

url接受接受一个Python正则字符串和一个函数对象作为参数,当匹配到对应的url时Django将会把HttpRequest和与正则表达式匹配的字符串传入函数对象。

启动Web App

在ProjectDir下调用命令python manage.py runserver 127.0.0.1:8080

在127.0.0.1:8080启动调试服务器。

System check identified no issues (0 silenced).March 06, 2016 - 14:28:17Django version 1.9.2, using settings 'FirstDjango.settings'Starting development server at http://127.0.0.1:8000/Quit the server with CTRL-BREAK.

在新建APP后未做任何改动之前启动服务器可以看到

p4PRpon.png

在完成上述工作后访问127.0.0.1:8000/hello/

Qrzdw5u.png

项目中如果代码有改动,服务器会自动监测代码的改动并自动重新载入。只需重新发送请求(刷新),不需要重启服务器。

配置/管理 Web应用

django-admin.py是Django提供的命令行交互工具,每个工程拥有一个manage.py文件是对admin.py的封装,用于控制Web App。

常用的命令有:

  • 启动开发服务器: python manage.py runserver <url>

  • 创建Project:django-admin.py startproject <project-name>

  • 创建Web APP:python manage.py startapp <app-name>

  • 同步数据库:python manage.py syncdb

注意在Django1.7及以后版本中python manage.py syncdb已被移除。

  • 构建数据库迁移: python manage.py makemigrations

  • 迁移数据库: python manage.py migrate

详情参见

转载地址:http://hpfzo.baihongyu.com/

你可能感兴趣的文章
币氪深度|别让项目方搬起ETF的石头,砸了你的脚
查看>>
Run as ant build每次都执行两次
查看>>
自己的TableDataEntity、手工代码绑定实体、反射绑定实体性能对比
查看>>
apk动态调试
查看>>
sql 语句整理
查看>>
POJ1389:Area of Simple Polygons——扫描线线段树题解+全套代码注释
查看>>
BZOJ1911:[Apio2010]特别行动队——题解
查看>>
14:开发脚本入侵检测与报警案例
查看>>
python 重要模块
查看>>
单词王(kingWord)
查看>>
javascript数据变量类型判断(JS变量是否是数组,是否是函数的判断)
查看>>
css知多少(9)——float下篇(转)
查看>>
JavaScript中科学计数法转化为数值字符串形式
查看>>
thrift语法
查看>>
杀死进程
查看>>
Kafka之生产者消费者示例
查看>>
CMS:文章管理之模型和Store
查看>>
【FTP】java FTPClient 文件上传内容为空,文件大小为0
查看>>
新项目经理必读:分析什么是项目经理
查看>>
微信“摇一摇&#183;周边”正式开放
查看>>