一开始搭建是在Ubuntu上面操作,后来就直接换到Windows上操作了,命令都一样,使用的开发工具是PyCharm。
PyCharm上的Terminal命令也是不错的。
一、在某盘下,创建文件夹,用PyCharm打开,使用Terminal命令做如下操作:
1、python 查看当前python环境
2、python3 进入3x环境
3、mkvirtualenv Hello 创建虚拟环境Hello
4、pip list 查看当前环境下的包
5、deactivate 退出当前环境
6、mkvirtualenv Hello3 -p /usr/bin/python3 创建Hello3环境,是3x版本
7、pip 安装包
8、workon Hello 查看虚拟环境
9、rmvirtualenv Hello 移除Hello虚拟环境
10、pip freeze 查看最近的安装包
11、pip install pymysql 安装pymysql包
12、安装、导入、测试djando
pip install django
python3
>>>import django
django.get_versin()
13、django-admin startproject HelloDjango 创建一个项目
14、tree 查看文件结构
15、workon 查询环境
16、python manage.py runserver[ip:port]
17、数据迁移
python manage.py makemigrations 生成迁移
python manage.py migrate 执行迁移
二、创建Django项目
2、在环境中,创建一个名为App的项目
python manage.py startapp App
3、这里就可运行了,运行后会是Django的页面
python manage.py runserver
默认是 http://127.0.0.1:8000/ 这个链接,这个端口
http://127.0.0.1:8000/admin 会进入Django自带的后台管理界面
4、完成以上步骤说明环境搭建ok,可以开始开发了
整个项目的设计模式是MTV模式
5、在Django_study1下的settings.py文件中
from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^welcome/',include('App.urls')),
]
Django2.0之前这样写没问题,2.0这样写也没问题。
那就简单说一下用到的2.0的新特性:
简化了URL路由语法:
from django.urls import path
path(r'welcome/',include('App.urls')),
就是这样,没有什么影响,但是新的写法要会使用
6、按照业务流程逻辑
通过Django_Study1下的setting.py中设置:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
**'App.apps.AppConfig',
'Django_study1',**
]
在* ()*里的内容必须注册,否则入坑出不来。
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [(os.path.join(BASE_DIR, 'templates')),],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
DIRS里的配置,是设置模板文件夹,加载页面都会从里面获取。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
7、在App文件夹下创建urls.py
from django.conf.urls import url
from App import views
urlpatterns = [
url('^$',views.welcome),
]
再在templates下创建welcome.html文件
这就是展示页面了,怎么设置url路径呢?
9、在App下的views.py中
from django.shortcuts import render
def welcome(request):
return render(request,"welcome.html")
到第九步,如果welcome.html能够展示出来,就可以连接mysql数据库了
三、安装MySql
下载MySql的链接
如何安装?百度一下去吧
1、和项目链接在settings.py中
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'grademanage',
'USER': 'root',
'PASSWORD': '111111',
'HOST': 'localhost',
'PORT': '3306',
}
}
DATABASES是设置MySQL的信息,NAME是数据库名,USER是用户名,PASSWORD是登录密码,HOST是localhost或者127.0*****,PORT是端口号(默认是3306)
2、下面要创建数据库、建表
在DATABASES 里已经设置了数据库名:GradeManage
创建表名为:Grade
字段为:id、gname、gsstudentnum、ggirlnum、gboynum
①:在App下的models.py里
from django.db import models
# Create your models here.
class Grade(models.Model):
ganme = models.CharField(max_length=20)
gstudentnum = models.IntegerField()
ggirlnum = models.IntegerField()
gboynum = models.IntegerField()
②:在MySql中的GradeManage库中添加表Grade,并插入数据
3、都创建好后,在Terminal中做数据迁移
python manage.py makemigrations 生成迁移
python manage.py migrate 执行迁移
4、在App下views.py
from django.shortcuts import render
from App.models import Grade
def getGrades(request):
# 获取所有班级
grades = Grade.objects.all()
context = {'gradess':grades}
return render(request,'Grades.html',context)
templates下Grades.html
<html lang="en">
<head>
<meta charset="UTF-8">
<title>班级系统title>
head>
<body>
<h1>数据库信息h1>
<h2>班级数据统计h2>
<ul>
{% for gradess in gradess %}
<li>{{ gradess.ganme }}li>
{% endfor %}
ul>
body>
html>
这就大功告成了,环境搭建–>django设置–>urls指定到View–>view指定到html页面。