我刚开始接触Django的时候,感觉太熟悉了。因为我大学毕业设计用的是Ruby On Rails写的一个网站,而Django和Rails,简直异曲同工,甚至连创建项目、迁移项目。我个人认为,就是像Rails的理念一样,“约定优于配置”。我现在仍然觉得,用Django就像回到了大学时代一样......
Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的 Web 服务。关于Django的设计,有人说是基于MVC,也有人说基于MVT,对此Django给出的解释是,管怎么命名,归根结底,还是要把事情做好。这种理念,我真的太喜欢了。
Django 最初被设计用于具有快速开发需求的新闻类站点,目的是要实现简单快捷的网站开发。接下来我们将通过这篇文章,简要介绍如何使用 Django 实现一个数据库驱动的网络应用。
PS: 有兴趣的同学可以去了解下Ruby语言及Rails框架,确实有些理念是蛮不错的,虽说,是小日子过得不错的国家开发的
1. 安装并创建Django项目
pip install django
安装好Django后,我们可以使用脚手架来快速创建Django项目,在命令行中,进入你想要创建项目的目录,然后运行以下命令来创建一个Django项目:
django-admin startproject poycode
这将在当前目录下创建一个名为poycode
的文件夹,并在该文件夹中生成Django项目的基本文件结构。
│ db.sqlite3
│ manage.py
└─poycode
│ asgi.py
│ settings.py
│ urls.py
│ wsgi.py
│ __init__.py
接下来我们进入poycode
文件夹,运行以下命令来启动Django的服务:
cd poycode
python manage.py runserver
这将启动一个开发服务器并监听本地的8000端口。打开浏览器,输入http://localhost:8000
,你将看到Django的默认欢迎页面。
2. 创建应用
在Django中,应用是构建一个网站的模块化组件。运行以下命令来创建一个新的应用:
python manage.py startapp article
这将在poycode
目录下创建一个名为article
的文件夹,其中包含了应用的基本文件结构。在article
文件夹中,打开models.py
文件并定义一个模型类。例如,创建一个简单的Post
类,用来定义文章:
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
pub_date = models.DateTimeField(auto_now_add=True)
title、content、 pub_date 用来标识数据库字段名,同时也是Post类的属性,models.xxxField()包含很多数据库相关的设置。如设置主键、是否自增,是否可空,同样也可以通过指定,db_column来设置数据库的字段名。
3. 数据库迁移
在settings.py文件中,我们可以配置Django项目的数据库设置。例如,我们可以选择使用SQLite,MySQL或PostgreSQL等数据库引擎。如果你不指定数据库,Django默认会在你的项目目录下生成一个SQLLite3的数据库文件。
在article/models.py文件中,我们可以定义数据模型。并通过使用Django模型类来创建数据库表,并定义字段和关联。在命令行窗口中,运行以下命令并进行数据迁移:
诸如此类种种,真的跟Rails太像了...
python manage.py makemigrations
python manage.py migrate
4. 创建视图
在article
文件夹中,打开views.py
文件并创建一个视图函数。例如,创建一个简单的index
视图:
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, Poycode!")
5. 设置URL映射
在poycode
文件夹中,打开urls.py
文件并设置URL映射。例如,将index
视图映射到根URL:
from django.contrib import admin
from django.urls import path
from article.views import index
urlpatterns = [
path('admin/', admin.site.urls),
path("", index, name="index"),
]
上述代码中,可以看到admin/
,这是Django已经为我们生成好的管理平台。
6.运行服务器并访问网页
运行开发服务器并打开浏览器,访问http://localhost:8000
,你将看到Hello, Poycode!
的输出。
这只是一个Django的入门教程,介绍了如何创建项目、应用、定义模型、编写视图和设置URL映射。Django拥有许多强大的功能,包括表单处理、用户认证、数据库查询等,你可以深入学习和实践,以进一步开发复杂的Web应用程序。Django文档写地也非常详细,大家也可以自行查阅。