首先我们先说下django的框架,他是python里的一个we开发框架可以用很简单的方法实现一个web开发
django的功能非常强大,有自带的后台管理系统,用起来比较方便
首先我们先创建一个项目
在你要创建项目的目录来创建一个项目
django-admin startproject 项目的名字
然后查看一下他的结构
用命令 tree
├── manage.py
└── web
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
settings.py 是配置文件一些django的设置都在里面
urls.py 是django的主路由 用来分配进入那个app里
那接下来让我们创建app
python3 manage.py startapp app的名字
这个根据自己的需求来创建,这个创建要和manage.py 要在统计目录下
我们在看下目录结构
── home
│ ├── admin.py
│ ├── apps.py
│ ├── __init__.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── manage.py
└── web
├── __init__.py
├── __pycache__
│ ├── __init__.cpython-35.pyc
│ └── settings.cpython-35.pyc
├── settings.py
├── urls.py
└── wsgi.py
创建完成
admin.py 是配置django的后台
urls.py:网址入口,关联到对应的views.py中的一个函数,访问网址就对应一个函数。
views.py:处理用户发出的请求,从urls.py中对应过来,通过渲染templates中的网页可以来显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。
models.py:与数据库操作相关,存入或读取的数据时用到这个,当然用不到数据库的时候,你可以不使用
创建完成后我们要配置一下这个项目的基础配置
首先我们下打开配置文件web/settings.py
DEBUG = True
这个一定要在你没有把项目完成之前打开
这个可以提示你那里报错了
ALLOWED_HOSTS = []
这个是你服务启动的网址 我们默认在没有完成项目时都不写 默认是 127.0.0.1
INSTALLED_APPS
需要把牛创建的app 的名字加在最后面
TEMPLATES
这个里面要写你的应用 templates,我们还没有创建 那我们创建一个
创建完成之后我们在设置中配置
'DIRS': [os.path.join(BASE_DIR,'templates')],
配置完成之后就是数据库了
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydb',#选择数据库的名,请确认你的mysql中有这个库
'USER': 'root',
'PASSWORD': '123456',
'HOST': 'localhost',
'PORT': '3306',
}
}
配置完成后我们要在web/__init_.py下配置哟啊链接那一个数据库
import pymysql
pymysql.install_as_MySQLdb()
配置完成后,在回到配置文件下我们配置一下静态文件夹
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
在配置下时区和地点
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
配置完成之后setting.py就算基本完成了
我们还需要创建一个静态文件夹
static
templates和staic 这两个文件夹要和manage.py要在同一级
templates 这个主要存放html 页面
static 主要存放 js,css,img 等文件
接下来我们配置一下路由
URL 我么回到urls.py 里
会有url(r'^admin/', admin.site.urls),
这是Django的后台路由
我们需要分发一下路由
我们需要导入一个url 里的一个模块
include
然后我们分发一下路由
url(r'^', include('home.urls')),
这里的home 是你创建的app名字
接下来我们回到你创建的app里配置下路由和视图
一个路由对应一个试图
我们需要在utls.py l里导入from . import views
然后分发路由
url(r'^$',views.index,name="index"),
前面的r'^$'是服务器的路径,views.index 是路由对应得试图
后面的 name 是你有在html 里跳转的路由 {% url ‘index’%}在html的页面就这样写,用于匹配 ,一般跟跟服务器的路径相对应
然后我们随便写一个试图在views.py 里导入from django.http import HttpResponse
def index(request):
return HttpResponse('页面')
我们启动下服务
python3 manage.py runserver