Django项目创建app(django开发项目)

liftword3个月前 (01-26)技术文章48

这里说的app其实和平时手机中安装的app不是同一个概念。Django项目中的app主要是指某一类功能类似的模块,例如用户管理系统中的账号管理是一个app,权限管理又是一个app。

创建app

创建app的方式非常简单,直接通过以下命令就可以:

# 最后跟的是app的名称
python manage.py startapp app01

执行成功后,就会在工程中出现对应名称的app:

│  db.sqlite3
│  manage.py
│
├─app01
│  │  admin.py						 【django默认提供的admin后台管理】
│  │  apps.py							  【app的启动类,一般不会改动】
│  │  models.py						【对数据库进行操作】
│  │  tests.py							 【单元测试】
│  │  views.py							【从url.py指向的函数】
│  │  __init__.py
│  └─migrations					【数据库的变更记录】
│          __init__.py
└─mysite
    │  asgi.py
    │  settings.py
    │  urls.py
    │  wsgi.py
    │  __init__.py

app中会默认新建一些文件,比较重要的就views.py和models.py

注册app

创建完app后,其实和整个Django项目是没有关联起来的。我们需要手动注册,打开settings.py文件,里面有一个INSTALLED_APPS的组数,将我们新建的app添加进去:

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01.apps.App01Config',
]

最底下一行就是新增加的。为什么要写成'app01.apps.App01Config',是为了指向apps.py中的启动类。

指向app

要让用户能够访问到创建的app,就需要从urls.py进行指向,例如这样修改urls.py:

from django.contrib import admin
from django.urls import path

from app01 import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', views.index)
]

增加了第8行,当访问http://host/index/时,会执行views.py文件中的index函数。

上面指向了index函数,那肯定要到views.py中准备一个对应的函数:

from django.http import HttpResponse

def index(request):
    return HttpResponse('Welcome in app01!')

当访问index函数的时候,返回一段文言。

启动项目

启动django项目,可以直接在项目manage.py文件所在目录执行以下命令:

python manage.py runserver

项目默认会使用8000端口,如果想指定端口,可以在命令后面加一个参数:

# 指定使用1234端口
python manage.py runserver 0.0.0.0:1234

如果不想手动执行命令,也可以在pycharm配置一下:

如果要指定端口,也是在Parameters中进行指定。

当然如果你使用的是专业版,是不需要自己在配置启动文件的,ide会自动给你生成一个启动文件,直接运行就可以。

最终的效果就是这样:

总结

Django是非常完善的框架,按照提供的规则能非常简单的完成路由、请求、响应。

相关文章

产品经理的福音?亚马逊推出Honeycode,零代码即可开发软件

机器之心报道参与:小舟、蛋酱、张倩程序员:产品经理,这个需求你自己实现吧。无代码开发工具,能否最终改变程序员的工作方式?近日,亚马逊发布了 Honeycode,一种类似于电子表格界面的无代码开发环境,...

利用Python开发App实战(python开发app工具)

我很早之前就想开发一款app玩玩,无奈对java不够熟悉,之前也没有开发app的经验,因此一直耽搁了。最近想到尝试用python开发一款app,google搜索了一番后,发现确实有路可寻,目前也有了一...

Python开发web指南之创建你的RESTful APP

上回我们说到了:Python Flask开发web指南:创建REST API 。我们知道了 Flask 是一个 web 轻量级框架,可以在上面做一些扩展,我们还用 Flask 创建了 API,也说到了...

Python可以开发手机APP和pc桌面应用软件吗?

Python是动态语言,比较简洁。Android不直接支持使用python开发应用,需要使用其它中间件或者库。PythonForAndroid提供了在android平台上对python语言的支持;CL...

天秀!“手机”居然也可以写Python代码?还支持各种库?

前言不得不说,对于写代码这件事,真的必须就是在电脑上才会有很好的体验。手机上写Python代码,那种感觉确实不敢想。但是总有朋友说:有没有手机端写Python代码的软件呢?上、下班坐地铁,坐公交挺无聊...

QPython,一个在手机上运行Python的神器

QPython 是一个在 Android 设备上运行 Python 的脚本引擎。它可以让您的 Android 设备运行 Python 脚本和项目。它包含 Python 解释器、控制台、编辑器和适用于...