前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Django博客开发教程-Python零基础开发网站<一>

Django博客开发教程-Python零基础开发网站<一>

作者头像
梦溪
发布于 2021-08-09 07:31:46
发布于 2021-08-09 07:31:46
1.1K00
代码可运行
举报
文章被收录于专栏:梦溪博客梦溪博客
运行总次数:0
代码可运行

Django博客开发教程-Python零基础开发网站

Django简介:

Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。

Django 是用 Python 开发的一个免费开源的

Web 框架,几乎囊括了 Web 应用的方方面面,可以用于快速搭建高性能、优雅的网站,Django 提供了许多网站后台开发经常用到的模块,使开发者能够专注于业务部分。

Django 提供了通用 Web 开发模式的高度抽象,为频繁进行的编程作业提供了快速解决方法,并为“如何解决问题”提供了清晰明了的约定。Django 通过 DRY(Don't

Repeat Yourself,不要重复自己)的理念来鼓励快速开发。

Django 框架支持主流的操作系统平台包括 WindowsLinuxMacOS 等。Python

Django 框架是一款全能型框架,它内置了许多模块,极大的方便了 Web 开发者,也正是由于它的“全面性”,会在学习 Django 的时候感到不知该如何处下手。

本篇教程将教零基础的小伙伴如何利用Django快速开发网站。

Django博客开发教程:项目准备

  1. 安装好Python环境。
  2. 安装好virtualenv虚拟环境。
  3. 安装好Pycharm开发工具。
  4. 安装好Mysql并配置好环境。

Django博客开发教程:创建项目

我们对需求和数据库都进行分析了之后,我们就开始来创建我们的项目。教程是在windows10操作系统下,用的Python3.8和django2.1.1,开发工具为pycharm。

打开我们的Pycharm,新建一个项目。

image.png

说明:

1为项目保存路径,myblog为项目名。

2为选择使用的虚拟环境软件,这里选virtualenv。

3为虚拟环境保存目录,我把它保存在项目里,虚拟环境默认名为env,我系统里有多个项目为了区分出来命名为myblogenv

4为使用的模板语言,我们默认用django模板语言。

5为创建项目的时候建立一个模板文件目录,用来存放模板文件。用CMD命令创建项目的话,模板目录需要自己手动创建。

6为创建一个名为blog的APP应用。同样的用CMD命令创建的话,需要手动通过python manage.py startapp blog命令来进行创建。

点击创建之后,Pycharm自动帮我们完成Django软件下载安装和Django的项目创建。

注意: 如果对需要指定Django版本的话,不能直接使用这个方法,这个方法会直接下载最新版本的Django。指定版本的话,请使用CMD通过命令如:pip install django==2.0.1安装。

安装成功之后项目目录结构如下图所示:

image.png

第一个黑色的myblog 为项目文件夹目录。

blog为APP应用目录,也是我们上面设置第6项才创建的。myblog为项目配置目录,myblogvenv为Pycharm创建的虚拟环境目录,与项目无关,不用理会。

目录里的文件含义如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
blog                #APP应用名和目录

│  admin.py        #对应应用后台管理配置文件。

│  apps.py         #对应应用的配置文件。

│  models.py       #数据模块,数据库设计就在此文件中设计。后面重点讲解

│  tests.py        #自动化测试模块,可在里面编写测试脚本自动化测试

│  views.py        #视图文件,用来执行响应代码的。你在浏览器所见所得都是它处理的。

│  __init__.py

│

├─migrations        #数据迁移、移植文目录,记录数据库操作记录,内容自动生成。

│  │  __init__.py

myblog               #项目配置目录

│  __init__.py       #初始化文件,一般情况下不用做任何修改。

│  settings.py        #项目配置文件,具体如何配置后面有介绍。

│  url.py             #项目URL设置文件,可理解为路由,可以控制你访问去处。

│  wsgi.py          #为Python服务器网关接口,是Python与WEB服务器之间的接口。

myblogvenv            #Pycharm创建的虚拟环境目录,和项目无关,不需要管它。

templates           #项目模板文件目录,用来存放模板文件

manage.py     #命令行工具,通过可以与项目与行交互。在终端输入python manege.py help,可以查看功能。

Django博客开发教程:基础配置

创建项目之后,我们需要对项目进行最基础的配置。这些配置是我们做项目的时候必须要配置的,所以我们先提前配置好。

我们打开myblog目录下的settings.py文件。

一、设置域名访问权限

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
myblog/settings.py
ALLOWED_HOSTS = []      #修改前
ALLOWED_HOSTS = ['*']   #修改后,表示任何域名都能访问。如果指定域名的话,在''里放入指定的域名即可

二、设置TEMPLATES里的'DIRS',添加模板目录templates的路径,后面我们做网站模板的时候用得着。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
myblog/settings.py
#修改前
'DIRS': []
#修改后
'DIRS': [os.path.join(BASE_DIR, 'templates')]
注:使用pycharm创建的话会自动添加

三、找到DATABASES设置网站数据库类型。这里我们使用默认的sqlite3。后期上线部署的话,也可以进行数据库与数据库之间的数据转换

四、在INSTALLED_APPS添加APP应用名称。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
myblog/settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    ....
    'blog.apps.BlogConfig',#注册APP应用
]
#使用pycharm创建的话,这里自动添加了,如果是终端命令创建的话,需要手动添加应用名称如'blog',

五、修改项目语言和时区

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
myblog/settings.py
#修改前为英文
LANGUAGE_CODE = 'en-us'
#修改后
LANGUAGE_CODE = 'zh-hans' #语言修改为中文
#时区,修改前
TIME_ZONE = 'UTC'
#修改后
TIME_ZONE = 'Asia/Shanghai' #

六、在项目根目录里创建static和media,两个目录。static用来存放模板CSS、JS、图片等静态资源,media用来存放上传的文件,后面我们在讲解数据库创建的时候有说明。

settings里找到STATIC_URL,然后在后面一行加上如下代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
myblog/settings.py

#设置静态文件目录和名称
STATIC_URL = '/static/'

#加入下面代码

#这个是设置静态文件夹目录的路径
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)
#设置文件上传路径,图片上传、文件上传都会存放在此目录里
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

Django博客开发教程:欢迎页面

基础配置做好了之后,我们就可以先迁移数据到数据库,然后启动我们的项目,感受Django的魅力。

在Pycharm左下角底部的Terminal,会弹出Terminal终端窗口,Pycharm自动会帮我们启动虚拟环境。如下图所示:

image.png

这里面有两个地方需要留意:

1、留意项目路径,看这个路径是不是我们项目的路径。

2、留意路径前有没有我们创建的虚拟环境名,之前我们创建的虚拟环境名是myblogvenv,如果显示正确,则说明我们启动正确。如果没有虚拟环境名,则进入项目目录下的myblogvenv\Scripts目录里,在终端输入activate启动虚拟环境,然后再切换到项目根目录里。如果前面的虚拟环境名称不对,则在终端输入deactivate退出虚拟环境,然后按上面的方法启动虚拟环境。

上面都OK了,我们就在终端里依次输入如下命令进行数据库迁移

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python manage.py makemigrations
python manage.py migrate

迁移数据之后,网站目录里自动会创建一个数据库文件db.sqlite3,里面存放着我们的数据。

之后输入下面命令创建管理帐号和密码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python manage.py createsuperuser

在这里依次输入账户名,邮箱,密码。这里我已经创建好账号了。

最后,我们输入下面有命令,启动我们的Django项目:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python manage.py runserver #默认使用8000端口
python manage.py runserver 8080 #指定启动端口
python manage.py runserver 127.0.0.1:9000 #指定IP和端口

提示启动成功,然后我们在浏览器里输入:http://127.0.0.1/

就可以查看到Django默认的欢迎页面!

image.png

如有疑问,请在下方留言。


版权属于:Cyril 本文链接:https://cloud.tencent.com/developer/article/1858354 转载时须注明出处及本声明

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021 年 07 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
太空基础设施安全:网络安全最前沿
科幻剧《星际迷航》有一集名为“最后前沿(The Final Frontier)”,意指探索浩瀚宇宙为人类科学最后的前沿。 1 概要 通常,人们在讨论国家关键基础设施的网络威胁时,往往忽视了卫星和其它太空设备存在的漏洞攻击。这是一个重大失误,因为卫星技术是社会不断发展的本质,如导航、通信、遥感、监测等其它无数关键应用。太空和其相关领域存在的网络安全隐患将会成为国家、地区或国际问题,而要了解认知这种非传统安全威胁,就必须对网络和太空安全的交叉问题进行研究。 美国近年把太空环境形容为空间日益拥堵(Cong
FB客服
2018/02/09
1.3K0
斯诺登曝光华为总部服务器遭美国安局入侵
导语:《纽约时报》网络版今天刊文称,爱德华·斯诺登(Edward Snowden)曝光的最新文件显示,美国国家安全局(NSA)入侵了华为总部的服务器。这一方面是为了监控华为管理层的通信,以了解华为是否与中国政府存在联系,另一方面则是为了寻找华为设备中的漏洞,以入侵其他国家采用华为设备的网络。 以下为文章主要内容: 华为总部服务器被入侵 美国官员长期以来认为,中国电信行业巨头华为会带来安全威胁。因此,美国阻止华为的电信设备在美国市场销售,以避免设备中可能的“后门”被来自中国的黑客利用,从而导
静一
2018/03/16
1.4K0
Google与NSA(美国国安局)结盟,共同对抗黑客
2009年12月中旬,谷歌总部的工程师开始怀疑中国的黑客入侵了私人Gmail账户。谷歌一直是网络间谍和犯罪者攻击的主要目标,但是对于这次事件,当谷歌工程师仔细分析调查时,发现它并不是一起普通的网络攻击事件,而是一次复杂的、有针对性的攻击。 攻击者攻击的是谷歌的密码系统。谷歌公司想找到一些有力的证据呈给美国执法机构和情报机构,借此让美国政府向中国政府施压。谷歌公司表示,他们对攻击源头展开了调查,追查到了是一台位于中国台湾的服务器入侵的谷歌密码系统,而该服务器是受中国大陆黑客控制的。 但是到现在我们还不知道黑客
大数据文摘
2018/05/23
5590
地球和宇宙之战:卫星网络会“制霸”地球吗?
地球上,McClain对着自己被入侵的银行账一脸懵,因为对方来自NASA网络。在遥远的太空,她的前女友,同时也是NASA的一位宇航员,正在用卫星网络,“黑”入前女友在地球上的银行账户,完成自己在情感上的报复。
FB客服
2020/08/07
5170
地球和宇宙之战:卫星网络会“制霸”地球吗?
全球首个反黑客国家!对黑客攻击“say no”
你被人欺负了,第一反应可能是还手,那在网络世界中,被攻击的受害者能够采取同样的反制措施吗? 答案是否定的。目前绝大多数国家尚未制定相关法律来支持企业或组织对黑客发起反击。“禁止任何人在未获得授权的情况下侵入别人的电脑”几乎是所有国家法律的共识,这意味着,反击黑客就如同黑客入侵一样,同样是违法行为。换句话说,你可以关门,但不能去开别人家的门,不论门后面是否藏着犯罪组织。 听起来是不是很玄幻?现实生活中,只要手续合法,警察可以选择破门而入抓捕犯罪分子,但是网络空间却万万不行。“顺着网线去抓你”实现的难点在于合法
FB客服
2023/04/12
3980
全球首个反黑客国家!对黑客攻击“say no”
为什么政府官员和机构不断被黑客入侵?
如果水门事件发生在今天,也许尼克松团队根本不需要潜入办公室进行物理窃听。如今的秘密情报工作借助网络,在屏幕后远程部署就能侵入目标的电子设备,获取机密信息。 在过去的十年中,网络攻击变得更具破坏性,影响范围更广,甚至在许多情况下更具政治性。各国政首和政要的私人信息和设备被间谍软件入侵,造成隐私信息泄露的事件时有发生;政府机构则不仅面临间谍软件,还包括勒索软件的双重攻击。在网络攻击指数级增长的当下,各国将网络安全视为国家安全的关键挑战。 数国元首遭网络攻击,窃取机密信息 近年来,数十名政府官员的手机遭到黑客攻击
FB客服
2023/03/29
6080
为什么政府官员和机构不断被黑客入侵?
马斯克的“星链”会不会威胁中国太空安全?肯定会!
中国向联合国通报了两起星链卫星接近中国空间站的事件,分别发生于2021年7月1日和10月21日。
数据猿
2022/03/16
1.5K0
马斯克的“星链”会不会威胁中国太空安全?肯定会!
美国财政部长称勒索软件对经济构成威胁、谷歌警示20亿Chrome用户|全球网络安全热点
美国财政部长珍妮特·L·耶伦(JanetL. Yellen)表示,今年疑似勒索软件支付的金额可能会翻一番,对美国经济构成“直接威胁”。
腾讯安全
2021/10/22
4450
美国财政部长称勒索软件对经济构成威胁、谷歌警示20亿Chrome用户|全球网络安全热点
希拉里PK川普激战正酣,看看黑客如何“干预”美国总统大选
昨天的美国大选第二轮辩论,相信大家都有所耳闻,撕得那是一个风生水起,好生热闹!不过今年除了两位总统候选人备受关注之外,黑客攻击干扰大选的新闻也是屡屡见诸报端,引发了激烈的讨论。 美国大选流程 在谈黑客
FB客服
2018/02/09
9400
希拉里PK川普激战正酣,看看黑客如何“干预”美国总统大选
假如拥有超级算力可以做些什么?
美国防部利用强大的安全算力,增强美军数字化作战能力以及在网络空间的主权,为应对当前以及未来多变的信息化战场积蓄力量。 一个偶然机会,在知乎上翻到了这样一个帖子:如果黑客拥有一台算力无限的主机,他能做什么? 虽说这种科幻设想的无限算力属于电影情节,但是国家或团体组织拥有强大的算力资源,这件事并不科幻。 看到下边网友的各种回复,确实脑洞大开,思路清奇。 很多人第一反应是去挖矿,去修改区块链账本,反方观点则是这样就破坏了区块链本身具有的不可篡改的属性,自然到时虚拟货币将一文不值; 有的大佬表示要干点大事,可以搞
FB客服
2023/03/30
1K0
假如拥有超级算力可以做些什么?
全球十大国家级APT组织排行榜发布
2022年9月,我国西北工业大学遭受境外APT组织网络攻击,引起全网的热议。据国家计算机病毒应急处理中心披露,西北工业大学遭网络攻击事件系美国国家安全局(NSA)特定入侵行动办公室(TAO)所为。
FB客服
2022/11/14
1.4K0
全球十大国家级APT组织排行榜发布
各国被黑客泄露的信息都是真的吗?揭秘真相森林中的重重谎言
一、概要 这两年,互联网上涌现了很多政府和企业的敏感数据泄露,但这些由不明行为者泄漏的信息是否准确呢? 前不久,安全研究人员发现了一个复杂的全球性虚假信息泄密活动,据分析,这次虚假泄密与黑客组织APT28之前所从事的网络间谍活动存在“重叠”之处。 APT28又叫Fancy Bear、Sofacy、Sednit或Pawn Storm,是美国民主党全国委员会(DNC)信息泄密事件的幕后主犯。 自2007年以来,APT28一直较为活跃,据称暗中受到俄罗斯政府的支持。虽然没有确凿证据表明俄罗斯政府直接参与虚假泄密,
FB客服
2018/02/28
1.2K0
各国被黑客泄露的信息都是真的吗?揭秘真相森林中的重重谎言
全解美军“水下黑客平台”安纳波利斯号核潜艇
7月底,据《华盛顿邮报》报道,两位美国海军官员在华盛顿国际战略研究会议上声称,潜艇是美国网络战略的重要组成部分,它们保护国家免受网络攻击,其在执行任务过程中发挥着重要作用。 美国潜艇项目执行官、海军少将迈克尔贾巴利说:“它们具有一种令我们高度重视的攻击能力,在这方面,我不能说太多,只能说这类潜艇活跃于前沿阵地,在最高技术层面上积极地做着它们应该做的事情。” 另外,两位海军官员还谈到水下无人航行器配合潜艇对敌方海域进行干扰或黑客行动,以扩大潜艇网络作战系统的能力。而“安纳波利斯”号核潜艇(USS Anna
FB客服
2018/02/08
1.4K0
全解美军“水下黑客平台”安纳波利斯号核潜艇
网络攻击是全球问题 美发中国黑客报告不负责
美国威瑞森公司23日发表《数据窃取调查年度报告》,首次将“有政府背景的网络间谍行为”单独列出,称其分析的2012年可确定的120起政府网络间谍案中,96%源自中国,其他4%来源不明。美国“政治”网站称,该报告的发表将为美国政界呼吁白宫采取更强硬措施反击“中国黑客”添加燃料。 据《华盛顿邮报》23日报道,威瑞森公司自2008年起每年都发表一次年度报告,今年首次单独对“政治关联网络间谍活动”进行分析,也是合作伙伴最多的一次。该公司对去年被报道的4.7万例网攻进行分析发现,其中621起为完全数据入
安恒信息
2018/04/09
7040
继进入紧急状态后,美国再次提升优先级,将黑客攻击与恐怖袭击并列
编译 | 核子可乐、Tina 在美国多家关键机构接连遭勒索软件入侵后,美国司法部决定把黑客袭击与恐怖袭击并列为其优先调查事项。 6 月 3 日,美国司法部发布了一份应对勒索软件的内部指引,决定把这类黑客袭击与恐怖袭击并列为其优先调查事项。 据路透社报道,目前具体说明已经于周四发布至全国各地的检察官办公室。指导方针概述了调查勒索攻击的协调方法,其中还包括一项规定,即此类调查必须与华盛顿特区司法部刚刚成立的反勒索软件特别工作组进行“集中协调”。 “我们以前在恐怖主义方面使用过这种模型,但从未用于勒索软件”,美国
深度学习与Python
2023/04/01
2870
继进入紧急状态后,美国再次提升优先级,将黑客攻击与恐怖袭击并列
7000万美元!曾勒索苹果的俄罗斯黑客「骇翻美国」,拜登下令FBI查案
昨日消息,拜登总统已下令调查一个勒索软件活动,该活动背后的黑客已经勒索超过1亿美元,短短数月内令数百家企业陷入瘫痪。
新智元
2021/07/29
4760
官方发布重磅报告,全面曝光美国网络攻击武器“蜂巢”
4月19日,中国国家计算机病毒应急处理中心发布了《美国中央情报局(CIA)“蜂巢”恶意代码攻击控制武器平台分析报告》,对“蜂巢”(Hive)恶意代码攻击控制武器平台(以下简称“蜂巢”)进行了分析。
FB客服
2022/06/08
1.2K0
官方发布重磅报告,全面曝光美国网络攻击武器“蜂巢”
揭秘全球最危险的11大网络间谍组织
几十年前,当黑客入侵刚刚出现的时候,其大多是网络“发烧友”的“杰作”,他们痴迷于学习有关计算机和网络的一切知识。现如今,民族国家支持的威胁行为者正在开发越来越复杂的网络间谍工具,而网络犯罪分子则针对包含《财富》500强企业、医院、政府机构以及金融机构等在内的一切事物实施攻击,赚得盆满钵满。
FB客服
2021/07/02
1.5K0
超千万安卓用户安装某诈骗APP、英国勒索软件攻击数量翻倍|全球网络安全热点
Craigslist内部电子邮件系统本月被攻击者劫持以传递令人信服的消息,最终目的是避免Microsoft Office安全控制来传递恶意软件。
腾讯安全
2021/10/27
5650
超千万安卓用户安装某诈骗APP、英国勒索软件攻击数量翻倍|全球网络安全热点
勒索组织DarkSide“发家史”
自今年5月攻击美国输油管道公司Colonial Pipeline之后,DarkSide“一炮而红”。大众的目光纷纷聚集到这个被发现不到1年的新组织。
FB客服
2021/07/03
7460
勒索组织DarkSide“发家史”
推荐阅读
相关推荐
太空基础设施安全:网络安全最前沿
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验