工程环境:Python3
Django3.0.5
一、创建Django项目
1、创建工程目录
2、打开cmd,创建Django项目
django–admin startproject quantmonitor
二、创建应用APP
2、进入项目中manage.py同级目录,打开cmd
pyhton manage.py starttapp monitor
三、创建页面(响应)(非模板)
0、Pycharm打开项目
file->open->选择项目目录
1、添加响应函数
monitor/Views.py添加响应函数
from django.http import HttpResponse
def index(request):
return HttpResponse('hello world')
# 通过template
from django.shortcuts import render # (渲染)
def index(request):
# return render(request, ‘index.html’) # html直接放在template中不建议
render(request, ‘monitor/index.html’, {‘hello’: ‘hello,blog!’})
2、配置应用URL(非模板)
在monitor页面(响应)下新建urls.py
from django.contrib import admin
from django.urls import path, re_path
from . import views
urlpatterns = [
re_path('admin/', admin.site.urls),
re_path(r'index/', views.index),
]
3、配置项目URL
(1)include方法
(2)项目级URL为空
from django.urls import path, include
path(r'', include('monitor.urls')),
四、创建templates
1、创建目录
在APP应用的根目录(monitor)下,创建templates目录
在APP的Templates目录下创建以APP名为名称(monitor)的目录
(.html直接放在templates有问题:不同APP下Templates目录中同名的.html文件会造成冲突)
2、修改响应函数
# 通过template
from django.shortcuts import render # (渲染)
def index(request):
# return render(request, ‘index.html’) # html直接放在template中不建议
return render(request, 'monitor/index.html', {'hello': 'hello,blog!'})
3、重新配置应用URL
re_path(r’monitor/index/’, views.index),
可能出现django:TemplateDoesNotExist错误的解决方法
可输入地址查看本地页面是否存在
五、创建Model
1、打开应用根目录(monitor)下models.py,
2、创建类。继承models.Model
class Subaccount(models.Model):
title = models.CharField(max_length=32, default='Title')
content = models.TextField(null=True)
# 子账户相关参数
3、映射成数据表
(1)Cmd进入manage.py同级目录,
(2)迁移,包括:
Settings.py 里INSTALL_APPS里django自带应用的数据
# 制作数据迁移,不选名称,默认该项目下所有应用都生成数据迁移,完成后应用下makemigrations文件夹会有初始化文件
python manage.py makemigrations monitor
# 正式迁移,写入项目文件夹下db.sqlite3
python manage.py migrate
4、把数据库中数据呈现到页面
(1)修改views
from . import models
def subaccount_page(request, subaccount_id):
Subaccount = models.Subaccount.objects.get(pk=subaccount_id) # pk:primary key(id),相当于select id =1
return render(request,page,{‘subaccount’: subaccount})
六、通过链接跳转其他页面
views
def subacccounts_assent_valuation(request):
return render(request, 'monitor/subaccounts_assent_valuation.html')
urls
path(r'monitor/subaccounts_assent_valuation/', views.subacccounts_assent_valuation),
index.html
<h4><a href="/monitor/index/">首页</a></h4> <!-- 直接在当前链接后面加href内容-->
注意,跳转回首页,子页面需要添加
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous">
否则会在当前URL基础上加href内容
例如monitor/subaccounts_assent_valuation/monitor/index/,就跳不回去了
</script>
2、启动服务
Python manage.py runserver
3、打开浏览器查看
127.0.0.1:8000