百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Django网站框架 建个漂亮的网站就是这么简单呢

ccwgpt 2025-03-30 14:44 9 浏览 0 评论

Django网站框架 建个漂亮的网站就是这么简单呢

亲爱的小伙伴们~今天我要和大家分享一个超级实用的Python网站开发框架——Django!它就像是一个神奇的魔法工具箱,能帮助我们轻松搭建出美美的网站呢。不管你是想做个人博客,还是开发购物网站,Django都能帮你实现哦!让我们一起来探索Django的魅力吧!

1. 初识Django小可爱

Django(读作姜戈)是Python世界里最受欢迎的网站框架之一,它的理念是"快速开发,优雅设计"。使用Django,我们可以省去很多重复的工作,把精力都放在实现自己的创意上。

首先,让我们安装Django:


pip install django

安装完成后,我们来创建第一个项目:


django-admin startproject mysite

cd mysite

python manage.py runserver

小贴士:记得在执行这些命令前,先确保已经安装好了Python环境哦~

2. Django项目结构小解析

Django项目的文件结构超级清晰,就像整理得井井有条的小抽屉一样:


mysite/

    ├── manage.py

    └── mysite/

        ├── __init__.py

        ├── settings.py

        ├── urls.py

        └── wsgi.py

  • manage.py:项目的管理助手,就像是我们的小帮手~
  • settings.py:项目的配置文件,所有重要的设置都在这里
  • urls.py:网站的URL路由表,决定访问不同地址时显示什么内容
  • wsgi.py:用于部署的接口文件

3. 创建第一个应用

在Django中,网站功能是由一个个应用(App)组成的,让我们来创建一个博客应用:


python manage.py startapp blog

然后在settings.py中注册我们的应用:


INSTALLED_APPS = [

    'django.contrib.admin',

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.messages',

    'django.contrib.staticfiles',

    'blog',  # 添加这一行

]

4. 设计数据模型

数据模型就是定义我们网站需要存储的数据类型。比如一个博客文章:


# blog/models.py

from django.db import models



class Post(models.Model):

    title = models.CharField(max_length=200)  # 文章标题

    content = models.TextField()              # 文章内容

    created_time = models.DateTimeField(auto_now_add=True)  # 创建时间



    def __str__(self):

        return self.title

创建完模型后,需要进行数据库迁移:


python manage.py makemigrations

python manage.py migrate

5. 编写视图函数

视图函数决定了用户看到的内容:


# blog/views.py

from django.shortcuts import render

from .models import Post



def post_list(request):

    posts = Post.objects.all()

    return render(request, 'blog/post_list.html', {'posts': posts})

6. 配置URL路由

将视图函数与URL地址关联起来:


# mysite/urls.py

from django.urls import path

from blog import views



urlpatterns = [

    path('', views.post_list, name='post_list'),

]

7. 创建模板文件

模板决定了页面的显示样式:










    我的博客





    {% for post in posts %}

        

{{ post.title }}

{{ post.content }}

发布时间:{{ post.created_time }}

{% endfor %}

注意事项:记得在blog目录下创建templates/blog文件夹来存放模板文件哦~

8. Django后台管理

Django自带一个超级好用的后台管理界面!先创建管理员账号:


python manage.py createsuperuser

然后在admin.py中注册我们的模型:


# blog/admin.py

from django.contrib import admin

from .models import Post



admin.site.register(Post)

小伙伴们,今天的Python学习之旅就到这里啦!记得动手敲代码,有问题随时在评论区问我哦。Django虽然功能强大,但只要一步步来,很快就能掌握啦!祝大家学习愉快,Python学习节节高!

相关推荐

NET版本众多,傻傻分不清楚

面对.NET众多的版本,尤其还有几个名称的情况下,相信很多初学C#的开发人员都很困惑,搞不清究竟该怎么选择。下面就列举一下.NET的主要版本及其区别:.NETFramework(传统版本,仅适用于W...

.NET Framework 和 .NET Core 有啥区别?如何选择?

.NETFramework和.NETCore都是由Microsoft开发的软件框架,用于创建Windows应用程序和Web应用程序。它们的主要区别在于:支持的操作系统:.NET...

「分享」介绍一款倍受欢迎的.NET 开源UI库

概述今天要带大家了解的是一款WPF的开源控件库MahApps.Metro。MahApps.Metro是用于创建现代WPF应用程序的工具包,它许多开箱即用的好东西。目前支持的NETFramework...

.NET 5.0正式版发布:应用可在ARM64上原生运行

更多:o梵蒂冈图书馆频繁遭黑客攻击oNPM包被发现窃取敏感的Discord和浏览器文件o作者:硬核老王o(本文字数:712,阅读时长大约:1分钟).NET5.0正式版发布:应用可...

盘点8个热门.Net开源项目

一、SmartFormat:轻量级文本模板库,轻松替代string.Format项目地址:https://github.com/axuno/SmartFormatSmartFormat不仅继承了s...

.NET与Java开发:一场从框架到应用实例的深度对决

在软件开发这片广袤的战场上,.NET与Java两大开发平台如同两位身经百战的将军,各自率领着庞大的开发者队伍,在不同的应用场景中大放异彩。今天,我们就来一场从框架到应用实例的深度对决,看看这两大平台究...

TouchSocket:一个功能强大且易于使用的 .NET 网络通信框架

项目介绍TouchSocket是一个功能强大且易于使用的.NET网络通信框架,适用于C#、VB.Net和F#等语言。它提供了多种通信模块,包括TCP、UDP、SSL、WebSocket、Mo...

远离报错烦恼!深入全面掌握.NET Framework

由于Windows系统对.NETFramework这一系统组件有着极为特殊的要求,而部分应用软件及游戏对其的依赖性也近乎达到了驱动级的水准,使用或安装不当会遭遇许多“未知”的问题,因此如何掌握.NE...

想自己搭建.Net Web框架,开源项目太庞大看不懂,可以看这个教程

大家好,我是编程乐趣。一直以来,我都在运营知识星球,这个月也开始全职专心编写教程了。当时编写教程,就是发现很多程序员工作多年了,都没自己搭建过框架,也没接触过公司的框架底层代码。这就导致一些问题,无法...

.NET 8 + React 18 一体化开发框架!苏州码农十年匠心打磨

开篇前言从2014年入行至今,从WebForms到MVC,从JavaScript到React/Vue,从.NETFramework到.NETCore/8,技术栈的变迁伴随了我整个职业生涯。去年,我...

.Net Framework详解

相信有不少小伙伴遇到过这种情况:安装软件时提示.NetFramework未安装导致软件无法打开,或者需要安装.NetFramework4.0以上的组件。那.NetFramework是什么呢?....

系统小技巧:深入全面掌握.NET Framework

由于Windows系统对.NETFramework这一系统组件有着极为特殊的要求,而部分应用软件及游戏对其的依赖性也近乎达到了驱动级的水准,使用或安装不当会遭遇许多“未知”的问题,因此如何掌握.NE...

前端架构师成长之路:如何在 Vue 的计算属性中传递参数

在Vue中,计算属性(computed)是从其他响应式属性派生的属性,是用于自动监听响应式属性的变化,从而动态计算返回值。计算属性(computed)通常是一个没有参数的函数。当然如果需要像调...

Vue2 vs Vue3:核心差异与升级指南

Vue3自2020年发布以来,凭借其革命性的改进迅速成为开发者关注的焦点。本文将从架构设计、API模式、性能优化等多个维度深入对比Vue2和Vue3的核心差异,并提供代码示例帮助开发者...

突发!Vue3 投屏神器引爆程序员朋友圈

【AlarmLevel】重要【AlarmTitle】突发!Vue3投屏神器引爆程序员朋友圈【AlarmOverview】最近GitHub上名为vue-screen-share的仓库突...

取消回复欢迎 发表评论: