第一个Django项目
第一个Django项目#
Django是一个开放源代码的Python Web应用框架,采用了MVC的软件设计模式。
使用Python的包管理工具pip或着easy_install可以方便的安装Django。在操作系统终端执行命令:
pip install django
或easy_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 python
from django.core import management
if __name__ == "__main__":
management.execute_from_command_line()
如果创建项目时出现编码问题(尤其是使用Python2的同学), 可以重写一下django-admin.py设置编码:
#!/usr/bin/env python
from django.core import management
import sys
reload(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 HttpResponse
def sayHello(request):
return HttpResponse('<p>Hello World</p>')
视图函数接受HttpRequest封装对象,并以字符串的形式返回响应的html代码。
配置路由#
urls.py文件中包含一个urlpatterns对象,在其中添加到sayHello的映射:
from django.conf.urls import url
from django.contrib import admin
from FirstDjango.view import hello
urlpatterns = [
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:17
Django version 1.9.2, using settings 'FirstDjango.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
在完成上述工作后访问127.0.0.1:8000/hello/
项目中如果代码有改动,服务器会自动监测代码的改动并自动重新载入。只需重新发送请求(刷新),不需要重启服务器。
配置/管理 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
详情参见Django doc
作者:finley
出处:https://www.cnblogs.com/Finley/p/5255575.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!