15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 【实战演练】Python+Django网站开发系列03-Django初始配置与静态Index页面开发

【实战演练】Python+Django网站开发系列03-Django初始配置与静态Index页面开发

时间:2023-05-29 03:27:02 | 来源:网站运营

时间:2023-05-29 03:27:02 来源:网站运营

【实战演练】Python+Django网站开发系列03-Django初始配置与静态Index页面开发:#本文欢迎转载,转载请注明出处和作者。

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。

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

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

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

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

另外,静态页面文件一般要求放置在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数据库

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

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

【python2.7】

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

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

修改school目录下的__init__.py

import pymysqlpymysql.install_as_MySQLdb()【python3】

开发机安装mysqlclient

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

重新运行命令

python manage.py makemigrationspython manage.py migrate提示数据库表创建完成,查看数据库,发现数据库表已经自动创建成功。

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

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

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

from django.conf.urls import url,includefrom 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 urlfrom 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/尝试,如果能够成功访问,则证明一切配置正常。

2、HTML简介

2.1 HTML标签简介

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

<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访问测试

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

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

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

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

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

关键词:配置,静态,系列,实战

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭