django不修改数据库创外键_【实战演练】Python+Django网站开发系列03-Django初始配置与静态Index页面开发...

news/2024/5/9 15:42:31/文章来源:https://blog.csdn.net/weixin_39844525/article/details/111653907

#本文欢迎转载,转载请注明出处和作者。

1、Django配置

前面已经将开发环境准备好了,可以开始进行静态网页的开发。

先介绍一下django的目录与文件结构,有几个文件需要重点掌握的:

settings.py #用来配置django项目的基本信息的,包括连接的数据库的数据库实例名,端口,用户名密码等。

urls.py #用来记录路由数据的,这个不是网络专业的ip route路由的意思,是例如你访问127.0.0.1:8000/index,后面的index路由到什么函数来处理的意思。

views.py #用来编写业务逻辑的,所谓业务逻辑,其实就是函数,上面的路由会根据urls调用views的函数

models.py #是用来创建数据库表的,包括表名,字段,字段的数据类型等

另外还有2个目录需要掌握:

templates #用来放置静态页面的

static #用来放置css、js、img(图片)等文件的

初始化配置

项目初始化建立后,最主要的仅有settings.py与urls.py。

3e66c01b93a3b3dca0abc13ed6478890.png

另外,由于django是可以支持模块化开发的,因此在进行具体的业务逻辑开发前,需要创建app(相当于功能模块),在下方terminal窗口输入如下命令:

django-admin startapp stumgr

自动创建了相关的app目录,里面models.py与views.py是最重要的。

models.py是用来规定数据库表以及具体字段。

views.py是用来编写具体的业务逻辑的。

2dd09e816e2f64f917f69fbc22fe20cf.png

另外,静态页面文件一般要求放置在templates目录下,js、css等文件要求放置在static目录下,这两个目录也需要手动创建。

创建后,django是无法使用该两个目录的,所以还需要修改settings.py的配置。

在INSTALLED_APPS下面,安装刚创建的app。

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

禁用CSRF跨站***阻止,在前面加#号。

MIDDLEWARE =[
#'django.middleware.csrf.CsrfViewMiddleware',
]

修改templates的目录,因为windows系统问题,需要将/替换为,才能正常工作。templates是存放html静态文件的默认位置。

TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR, 'templates'.replace('','/'))]

修改数据库配置,原为

DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3','NAME': os.path.join(BASE_DIR, 'db.sqlite3'),}
}

修改为(按照实际修改)

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME':'stumgr','HOST':'localhost','USER':'root','PASSWORD':'1qaz!QAZ','PORT':3306,}

最后settings最底下增加static目录配置,这个是配置css、js等静态文件的默认位置的。

STATIC_URL = '/static/'
STATICFILES_DIRS=(os.path.join(BASE_DIR,'static'.replace('','/')),
)

到数据库创建stumgr数据库

ddff075f7d5d386d15d5c87a8db32828.png

在terminal,运行,进行数据库的初始化。

python manage.py makemigrations

如果已经提前安装了mysqlclient,会顺利进行,否则会报错,提示 Error loading MySQLdb module。

【python2.7】

如果是python2.7用户,可以安装pymysql。

点击files->settings->可以安装扩展的包,由于django需要与mysql数据库交互,请点击+,然后安装pymysql

24f7d4d9d0ec6e3269ffbd8ba7f582d1.png

f7622b18eda72b2ef290560c24341ce5.png

修改school目录下的__init__.py

import pymysql
pymysql.install_as_MySQLdb()

2a4fa51b1bdbd34fabdee7b8450c5c62.png

【python3】

开发机安装mysqlclient

pip install mysqlclient

并且创建工程的时候,需要勾选:

afca32e4453fbec54f22cb948adea3aa.png

重新运行命令

python manage.py makemigrations
python manage.py migrate

91ef625ecdee76b91dcc07f85798d418.png

提示数据库表创建完成,查看数据库,发现数据库表已经自动创建成功。

8d423abf837af1dd17a15fa221d5c87a.png

在templates目录下创建index.html文件,填写”HelloWorld“

34ec63940d88f809fa052d18beec69ff.png

然后需要编辑school下面的urls.py文件,在里面增加对stumgr的urlspy的包含。

这里的意思是,域名后面任意的后缀,都交给stumgr下面的urls文件来解析路由。

from django.conf.urls import url,include
from django.contrib import adminurlpatterns = [url(r'^admin/', admin.site.urls),url(r'^',include('stumgr.urls')),
]

然后再stumgr下面手动增加一个urls.py文件,将school下面的urls.py文件内容复制粘贴,再进行修改。

这里才是每个url后缀,真正对应views里面哪个函数的路由。^与$是正则表达式符号,^表示以XX开头,$表示以XX结尾。^$表示中间什么都没有,就是127.0.0.1:8000后面什么都没有跟,就匹配这条路由。^index/表示匹配127.0.0.1:8000/index/这条url,后面跟的是对应调用views里面哪个函数。

from django.conf.urls import url
from stumgr.views import *urlpatterns = [url(r'^$', index),url(r'^index/',index),
]

然后编写views.py,import的地方,使用默认的render,

创建函数index,定义函数需要执行什么业务逻辑,暂时仅作页面返回。

from django.shortcuts import render# Create your views here.
def index(request):return render(request,'index.html')

runserver运行web服务。

python manage.py runserver

打开浏览器访问http://localhost:8000以及http://localhost:8000/index/尝试,如果能够成功访问,则证明一切配置正常。

367c52bc78f0f7cdce69d9a8769d1328.png

2、HTML简介

2.1 HTML标签简介

html叫做超文本标记语言,与一般的编程语言不一样,可以理解为,它就是一种告诉浏览器每种页面元素怎么摆放的语言就可以了,简单介绍一下常用的html标签,更多的html介绍可以参考w3school的教程。

W3Schoot HTML教程​www.w3school.com.cn

<h></h>标题

<P></p>段落

<img src="">图片标签

<a href+"">超链接标签

<table></table>表格标签

<tr></tr>表格行

<th></th>表格标题

<td></td>表格列

<div></div>区域标签

<title></title>页面标签的标题

<header></header>html头,一般书写编码方式,title,引入css、js等

<body></body>页面具体正文内容

2.2 编写第2个html页面

在templates下面创建一个temp.html文件,简单利用一下上面介绍的标签,编写一个页面进行测试。

2.2.1创建html页面

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>这是第一个HTML页面</title>
</head>
<body>
<h1>这是我的网站大标题</h1>
<h2>这是我的网站子标题</h2>
<div><p1>这是第一行内容</p1>
</div>
<div><p2>这是第二行内容</p2>
</div>
<table border="1"><tr><th>第一列</th><th>第二列</th><th>第三列</th></tr><tr><td>1.1</td><td>1.2</td><td>1.3</td></tr>
</table>
<div><a href="/index/">跳转到index</a></div>
<div><img src="/static/images/timg.jpg" width="640" height="480"></div>
</body>
</html>

其中<img>标签中,需要将测试图片放到/static/images/文件夹下,如果images文件夹不存在可以自行创建,文件名按照实际图片名修改。

点击<a>标签,应该能够自动跳转index页面(Hello World页面)。

2.2.2URL添加路由

编辑stumgr下面的urls.py文件,添加路由,相当于告知django,用户访问127.0.0.1:8000/temp/这条url,调用什么函数。

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

2.2.3views添加函数

添加具体的函数,这里只是简单返回静态页面,所以函数基本上没有什么具体内容。

def temp(request):return render(request,'temp.html')

2.2.4访问测试

0ec017fcd3a965fd2d5f11d5837a15e2.png

至此,我们已经掌握了如何做纯html网页页面的开发了,总结一下:

1)在templates目录下面创建html文件,然后在html文件下面以html语言编写需要的内容。

2)编辑app下面的urls.py,增加url路由,并且指定用views里面什么函数响应。

3)编辑views,编写具体的函数。

然后静态页面就能够正常访问了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_710677.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据平台网站日志分析系统

1&#xff1a;大数据平台网站日志分析系统&#xff0c;项目技术架构图&#xff1a; 2&#xff1a;大数据平台网站日志分析系统&#xff0c;流程图解析&#xff0c;整体流程如下&#xff1a; ETL即hive查询的sql; 但是&#xff0c;由于本案例的前提是处理海量数据&#xff0c;因…

大型网站技术架构(一)--大型网站架构演化(转)

http://blog.csdn.net/chaofanwei/article/details/26865169 看完了有一本书&#xff0c;就应该有所收获&#xff0c;有所总结&#xff0c;最近把《大型网站技术架构》一书给看完了&#xff0c;给人的印象实在深刻&#xff0c;再加上之前也搞过书本上讲的反向代理和负载均衡以及…

大型网站技术架构(四)--网站的高性能架构(转)

http://blog.csdn.net/chaofanwei/article/details/27168603 网站性能是客观的指标&#xff0c;可以具体体现到响应时间、吞吐量、并发数、性能计数器等技术指标。 1、性能测试指标 1.1 响应时间 指应用执行一个操作需要的时间&#xff0c;指从发出请求到最后收到响应数据所需要…

小心错误使用EasyUI 让网站性能减半

先不谈需求&#xff0c;和系统架构&#xff0c;直接上来就被抛来了一个问题----基础性能太差了&#xff0c;一个网页打开要好几秒。我了个天&#xff0c;我听了也简直不敢相信&#xff0c;难道是数据量特别大&#xff1f;还是其中业务逻辑特别复杂&#xff1f; 简单的介绍下&am…

大型网站技术架构(五)--网站高可用架构(转)

网站的可用性&#xff08;Avaliability&#xff09;描述网站可有效访问的特性。 1、网站可用性的度量与考核 网站不可用时间&#xff08;故障时间&#xff09;故障修复时间点-故障发现&#xff08;报告&#xff09;时间点 网站年度不可用时间&#xff08;1-网站不可用时间/年度…

大型网站技术架构(六)--网站的伸缩性架构(转)

网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能&#xff0c;通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。 1、网站架构的伸缩性设计 网站的伸缩性设计可以分成两类&#xff0c;一类是根据功能进行物…

大型网站技术架构(七)--网站的可扩展性架构(转)

http://blog.csdn.net/chaofanwei/article/details/29191073 扩展性是指对现有系统影响最小的情况下&#xff0c;系统功能可持续扩展或提升的能力。 设计网站可扩展架构的核心思想是模块化&#xff0c;并在此基础上&#xff0c;降低模块间的耦合性&#xff0c;提供模块的复用性…

大型网站技术架构(八)--网站的安全架构(转)

从互联网诞生起&#xff0c;安全威胁就一直伴随着网站的发展&#xff0c;各种Web攻击和信息泄露也从未停止。常见的攻击手段有XSS攻击、SQL注入、CSRF、Session劫持等。 1、XSS攻击 XSS攻击即跨站点脚本攻击&#xff08;Cross Site Script&#xff09;&#xff0c;指黑客通过篡…

网站(前端、后端)性能(架构)优化手段

网站的性能测试 性能测试是性能优化的前提&#xff0c;也是性能优化结果的检查和度量标准。温馨提示&#xff1a;本文内容有点长&#xff0c;请耐心看完或者先收藏。 性能测试的常用指标&#xff1a; 响应时间并发数目吞吐量。常用的吞吐量指标&#xff1a;①TPS(每秒事务数)…

ASP.NET Core 2.0 使用支付宝PC网站支付

概述 支付宝有比较多的支付产品&#xff0c;比如当面付、APP支付、手机网站支付、电脑网站支付等&#xff0c;本次讲的是电脑网站支付。详细 代码下载&#xff1a;http://www.demodashi.com/demo/11730.html 前言 最近在使用ASP.NET Core来进行开发&#xff0c;刚好有个接入支付…

基于Python-Flask实现的网站例子

概述 使用Flask写的体育网站 包括&#xff08;注册 论坛 文章评论 组建战队 后台管理&#xff09;等功能 示例地址文中有写 萌新 请多指教详细 代码下载&#xff1a;http://www.demodashi.com/demo/12380.html 项目示例地址: 网站演示 一、环境搭建 1. 安装配置python3.6 示例网…

JavaScript 编程精解 中文第三版 二十一、项目:技能分享网站

二十一、项目&#xff1a;技能分享网站 原文&#xff1a;Project: Skill-Sharing Website 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 自豪地采用谷歌翻译 部分参考了《JavaScript 编程精解&#xff08;第 2 版&#xff09;》 If you have knowledge, let others l…

基于webmagic的种子网站爬取

代码地址如下&#xff1a;http://www.demodashi.com/demo/12175.html 1. 概述 因为无聊&#xff0c;闲来没事做&#xff0c;故突发奇想&#xff0c;爬个种子&#xff0c;顺便学习爬虫。本文将介绍使用Spring/Mybatis/webmagic等框架构建项目并爬取种子磁链。 2. 项目搭建 如下…

基于React的PC网站前端架构分析

代码地址如下&#xff1a;http://www.demodashi.com/demo/12252.html 本文适合对象 有过一定开发经验的初级前端工程师&#xff1b;有过完整项目的开发经验&#xff0c;不论大小&#xff1b;对node有所了解&#xff0c;关注前端发展&#xff0c;了解所谓“大前端”的概念&…

基于Python-Flask实现的网站例子

概述 使用Flask写的体育网站 包括&#xff08;注册 论坛 文章评论 组建战队 后台管理&#xff09;等功能 示例地址文中有写 萌新 请多指教 详细 项目示例地址: 网站演示 源码下载地址&#xff1a; http://www.demodashi.com/demo/12380.html 一、环境搭建 1. 安装配置py…

Python-Flask实现基金自选网站

代码地址如下&#xff1a;http://www.demodashi.com/demo/14734.html 项目介绍 本项目的基金数据来自天天基金网&#xff0c;但该网站用户体验较差&#xff0c;内容冗余&#xff0c;故自己实现一个轻量级网站&#xff0c;从8个指标维度对股票基金和债券基金进行挑选&#xff0…

任晶磊:如何看待程序员在 GitHub 发起抗议互联网公司实行 996 工作制网站?

作者&#xff1a;任晶磊 有人说&#xff0c;此行为艺术仍然停留在抱怨的阶段。那么我们来看看出路在何方&#xff0c;所幸已有人在路上。注意&#xff0c;这里都是正在落地的干货。 Disclaimer&#xff1a;我在表达观点时会引用自己的研究工作。如果认为此有夹带私货之嫌&…

大型网站架构系列:分布式消息队列

以下是消息队列以下的大纲&#xff0c;本文主要介绍消息队列概述&#xff0c;消息队列应用场景和消息中间件示例&#xff08;电商&#xff0c;日志系统&#xff09;。 本次分享大纲 消息队列概述消息队列应用场景消息中间件示例JMS消息服务常用消息队列参考&#xff08;推荐&am…

Python网页分析,分析网站的日志数据

前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 以下文章来源于大话数据分析&#xff0c;作者&#xff1a;尚天强 网站的日志数据记录了所有Web对服务器的访问活动&#xff0c;本节通过Python第…

基于django快速开发一个网站(一)

* 创建虚拟环境、基于虚拟环境创建django2.0.0和图片加载库和mysql数据库驱动 1. 创建目录并创建虚拟环境 ╰$ mkdir Cornucopiavirtualenv ╰$ cd Cornucopiavirtualenv ╰$ virtualenv env1 2. 进入bin目录&#xff0c;并激活虚拟环境 ╰$ cd bin ╰$ source activate …