Django学习:创建项目和应用(2)

本文详细介绍了如何使用Django框架创建一个名为myblog的项目,并在此基础上新增一个名为blog的应用,包括项目结构解析、应用创建步骤、视图函数定义及URL配置等关键环节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新建一个项目(project), 名称为 mysite

django-admin startproject myblog

运行后,如果成功的话, 我们会看到如下的目录样式

myblog
├── manage.py
└── myblog
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

我们会发现执行命令后,新建了一个 myblog 目录,其中还有一个 myblog 目录,这个子目录 myblog 中是一些项目的设置 settings.py 文件,总的urls配置文件 urls.py 以及部署服务器时用到的 wsgi.py 文件, __init__.py是python包的目录结构必须的,与调用有关。

到外层那个 myblog 目录下(不是myblog中的myblog目录)

新建一个应用(app), 名称叫 blog

python manage.py startapp blog # blog 是一个app的名称

myblog中多个一个 blog 文件夹,其中有以下文件。

blog/
├── __init__.py
├── admin.py
├── models.py
├── tests.py
└── views.py

把我们新定义的app加到settings.py中的INSTALL_APPS

修改 myblog/myblog/settings.py

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
 
    'blog',
)

新建的 app 如果不加到 INSTALL_APPS 中的话, django 就不能自动找到app中的 模板文件(app-name/templates/下的文件)和 静态文件(app-name/static/中的文件)

定义视图函数(访问页面时的内容)

我们在blog这个目录中,把views.py打开,修改其中的源代码,改成下面的

#coding:utf-8
from django.http import HttpResponse
 
def index(request):
    return HttpResponse("hello")

第一行是声明编码为utf-8, 因为我们在代码中用到了中文,如果不声明就报错.

第二行引入HttpResponse这个类,它是用来向网页返回内容的,就像Python中的 print 一样,只不过 HttpResponse 是把内容显示到网页上。

义了一个 index()函数,第一个参数必须是  request,与网页发来的请求有关,request 变量里面包含 getpost的内容,用户浏览器,系统等信息在里面

函数返回了一个 HttpResponse 对象,可以经过一些处理,最终显示几个字到网页上。

注意:每个请求对应一个函数,函数必须返回一个响应

          函数必须存在一个参数,一般约定为request

          每个相应(函数)对应一个URL

那问题来了,我们访问什么网址才能看到刚才写的这个函数呢?怎么让网址和函数关联起来呢?

定义视图函数相关的URL(网址)(即规定 访问什么网址对应什么内容)

打开 myblog/myblog/urls.py 这个文件, 修改其中的代码

import blog.views as bv

urlpatterns = [
    url(r'^index/', bv.index),
]

第一行将blog.view引进来 方便引进view中的函数index

第三行正则表达式

注意:每个URL都以url的形式写出来

           url函数存放在urlpatterns列表中

           url函数有3个参数:URL(正则),对应方法,名称

在终端上运行 python manage.py runserver

打开浏览器,访问 http://127.0.0.1:8000/index 或者 http://localhost:8000/index


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值