Django 实战 - 搭建个人博客(02) : 创建并配置APP功能模块

创建APP

在Django中的一个app代表一个功能模块。开发者可以将不同功能的模块放在不同的app中, 方便代码的复用。app就是项目的基石,因此开发博客的第一步就是创建新的app,用来实现跟文章相关的功能模块。

打开命令行,进入项目所在的目录:(注意Django的操作必须在虚拟环境下进行)

D:\django_project>env\Scripts\activate.bat
(env) D:\django_project>

进入 my_blog 目录 : 

(env) D:\django_project>cd my_blog

(env) D:\django_project\my_blog>

输入python manage.py startapp article指令,创建名为article的app:

查看一下my_blog文件夹,应该看到这样的结构:

my_blog
│  db.sqlite3
│  manage.py
│
├─article
│  │  admin.py
│  │  apps.py
│  │  models.py
│  │  tests.py
│  │  views.py
│  │  __init__.py
│  │
│  └─migrations
│        └─ __init__.py
│
└─my_blog
    │  settings.py
    │  urls.py
    │  wsgi.py
    └─ __init__.py

项目结构分解如下:

  • 根目录my_blog下有两个文件:db.sqlite3是一个轻量级的数据库文件,用来存储项目产生的数据,比如博客文章;manage.py是项目执行命令的入口,比如runserver。

  • 目录article是刚创建出来的app,用来放置博客文章相关的代码:后台管理文件admin.py,数据模型文件models.py,视图文件views.py,存放数据迁移文件的目录migrations

  • 根目录下还有一个my_blog目录,其中的settings.py包含项目的配置参数,urls.py则是项目的根路由文件

注册APP(settings)

打开 Pycharm ->open project 

打开my_blog目录的settings.py,找到INSTALLED_APPS写入如下代码:

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'article'
]

配置访问路径(urls)

然后再给app配置访问路径url。

url可以理解为访问网站时输入的网址链接,配置好url后Django才知道怎样定位app。

打开my_blog目录下的urls.py,增加以下代码:

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('article/', include('article.urls', namespace='article')),
]

path为Django的路由语法:

  • 参数article/分配了app的访问路径;
  • include将路径分发给下一步处理;
  • namespace可以保证反查到唯一的url,即使不同的app使用了相同的url(后面会用到)。

记得在顶部引入include

在开发环境下,article的url为:http://127.0.0.1:8000/article/

还没结束。现在我们已经通过path将根路径为article的访问都分发给article这个app去处理。但是app通常有多个页面地址,因此还需要app自己也有一个路由分发,也就是article.urls了。

article可以有多个页面,如列表页面、详情页面等,那么就需要如下两个url:

http://127.0.0.1:8000/article/list/

http://127.0.0.1:8000/article/detail/

app中的url.py就是用来区分它们的。

在app生成时并没有这个文件,因此需要自己在article文件夹中创建urls.py,在里面输入:


# 引入path
from django.urls import path

# 正在部署的应用的名称
app_name = 'article'

urlpatterns = [
    
]

urlpatterns中暂时是空的,没写入任何路径的映射,不着急以后会写。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值