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

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


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

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

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

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

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

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

templates     #用来放置静态页面的数据库

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


初始化配置windows

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

016.png

另外,因为django是能够支持模块化开发的,所以在进行具体的业务逻辑开发前,须要建立app(至关于功能模块)

django-admin startapp stumgr

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

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

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

017.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 = [
   {
       '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目录配置

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

点击files->settings->能够安装扩展的包,因为django须要与mysql数据库交互,请点击+,而后安装pymysql

019.png

018.png

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

python manage.py makemigrations

而后会报错,提示缺乏MySQL-python,因为python2没法安装MySQL-python,须要安装pymysql来替代。

修改school目录下的__init__.py

import pymysql
pymysql.install_as_MySQLdb()

020.png

到数据库建立stumgr数据库

021.png

从新运行命令

python manage.py makemigrations
python manage.py migrate

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

022.png

023.png

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

024.png

而后须要编写views.py,import的地方,追加导入render_to_response,

建立函数index,定义函数须要执行什么业务逻辑,暂时仅做页面返回,使用return render_to_response,

后面的locals()的意思是,若是函数里面有什么参数,将全部的参数值返回到前端页面。

from django.shortcuts import render,render_to_response

# Create your views here.
def index(request):
   return render_to_response('index.html',locals())

而后修改urls.py,在里面添加index的路由记录。

from stumgr.views import *

urlpatterns = [
   url(r'^admin/', admin.site.urls),
 
url(r'^index/', index),
]

runserver运行web服务。

python  manage.py runserver

打开浏览器访问http://localhost:8080/index尝试,若是可以成功访问,则证实一切配置正常。

025.png

相关文章
相关标签/搜索