实战记录:从零开始建网站django+python

工程环境: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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

779醒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值