700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > django不修改数据库创外键_【实战演练】Python+Django网站开发系列03-Django初始配置

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

时间:2020-01-21 09:39:51

相关推荐

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

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

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的教程。

W3Schoot HTML教程​

<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,编写具体的函数。

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。