前面已经将开发环境准备好了,能够开始进行静态网页的开发。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。
另外,因为django是能够支持模块化开发的,所以在进行具体的业务逻辑开发前,须要建立app(至关于功能模块)
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 = [
{
'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
在terminal,运行,进行数据库的初始化。
python manage.py makemigrations
而后会报错,提示缺乏MySQL-python,因为python2没法安装MySQL-python,须要安装pymysql来替代。
修改school目录下的__init__.py
import pymysql
pymysql.install_as_MySQLdb()
到数据库建立stumgr数据库
从新运行命令
python manage.py makemigrations
python manage.py migrate
提示数据库表建立完成,查看数据库,发现数据库表已经自动建立成功。
在templates目录下建立index.html文件,填写”HelloWorld“
而后须要编写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尝试,若是可以成功访问,则证实一切配置正常。