【Python】Django学习1
按黑马程序员的美多商场作方向:
https://www.bilibili.com/video/BV1nf4y1k7G3
一、应用创建、注册处理、配置
Pycharm 创建Django项目:
自应用注册处理:
二、应用数据初始化
第一步:创建元数据初始化py脚本
python manage.py makemigrations
初始化的脚本会放在各个自应用的migrates目录中
第二步:执行初始化py脚本,把表结构信息同步到数据库中
sqlite不需要建库即可实现,mysql需要先把model源信息的库建好才可以同步
python manage.py migrate
三、站点配置:
1、改成中文时区和语言编码
LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai'
2、设置站点管理员账号
必须要先通过初始化数据之后才能执行
python manage.py createsuperuser
更改密码:
更改的密钥要求8位长度,且至少有字母和数字组成
python manage.py changepassword 用户名
3、配置自定义端口号:
#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys
from django.core.management.commands.runserver import Command as RunserverCommand def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'DjangoProject.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv) if __name__ == '__main__':
RunserverCommand.default_port = 9090
main()
4、站点登陆:
http://127.0.0.1:9090/admin/
5、将模型信息注册到django-admin中:
刷新页面可以发现模型信息可以直接在admin中进行管理
6、URL视图配置
工程默认会绑上django-admin的url配置
http://127.0.0.1:9090/admin/
我们可以在这里添加我们自己url配置,对应的,每个自应用也需要创建一个urls.py配置文件
内容填写,一个路由地址,对应视图的一个方法:
"""
URL configuration for DjangoProject project. The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/5.0/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, include
from .views import index
urlpatterns = [
path('index/', index)
]
views.py中的index方法,调用的是httpResponse进行返回:
from django.http import HttpResponse # Create your views here.
def index(request):
return HttpResponse("Hello, world. You're at the index page.")
访问页面进行测试:
http://127.0.0.1:9090/book_manager/index/
7、使用模版渲染处理
创建模版文件,templates为模版的路径根目录,也可以自己改成别的目录
用自应用名称区分开来,mustache语法来读取模版参数
更改index方法逻辑:
from django.http import HttpResponse
from django.shortcuts import render # Create your views here.
def index(request):
# return HttpResponse("Hello, world. You're at the index page.")
context = {'title': 'Django Book Manager'}
return render(request, 'book_manager/index.html', context)
刷新查看页面:
8、上线配置ALLOW_HOSTS和关闭Debug模式
Debug模式将会把报错信息直接打印在页面上
关闭Debug模式后,仅简单输出内容
9、静态文件管理
静态文件默认配置位置(settings文件):
在Debug模式下可以直接访问:
关闭Debug模式后不能访问:
解决方案见此博客:
https://blog.csdn.net/qq_41475058/article/details/105856148
1、设置STATIC_ROOT参数
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/5.0/howto/static-files/ # 静态资源url访问路径
STATIC_URL = 'static/' # python manage.py collectstatic 收集后的资源目录位置
STATIC_ROOT = os.path.join(BASE_DIR, 'static_prod')
2、给静态目录追加url映射配置:
"""
URL configuration for DjangoProject project. The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/5.0/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, include, re_path
from django.views.static import serve
from DjangoProject import settings urlpatterns = [
re_path(r'^static/(?P<path>.*)$', serve, {'document_root': settings.STATIC_ROOT}, name='static'),
path('admin/', admin.site.urls),
path('book_manager/', include('book_manager.urls')),
path('my_app/', include('my_app.urls')),
path('my_app2/', include('my_app2.urls')),
]
3、执行collect命令,打包静态资源
python manage.py collectstatic
【Python】Django学习1的更多相关文章
- Python Django 学习 (二) 【Django 模型】
注: 由于自己排版确实很难看,本文开始使用markdown编辑,希望有所改善 官方定义 A model is the single, definitive source of information ...
- python Django 学习笔记(一)—— Django安装
注:本人python版本2.7.5 ,win7系统 安装Django https://www.djangoproject.com/download/ 官方下载Django-1.5.5.tar.gz 1 ...
- [python][django学习篇][5]选择数据库版本(默认SQLite3) 与操作数据库
推荐学习博客:http://zmrenwu.com/post/6/ 选择数据库版本(SQLite3) 如果想选择MySQL等版本数据库,请先安装MySQL并且安装python mysql驱动,这里不做 ...
- [python][django学习篇][3]创建django web的数据库模型
推荐学习博客:http://pythonzh.cn/post/8/ 博客或者web界面向用户展示内容,它需要从某个地方获取博客内容或者web界面内容,才能够展示出来.通常来说:某个地方指的就是数据库 ...
- python Django 学习笔记(二)—— 一个简单的网页
1,创建一个django项目 使用django-admin.py startproject MyDjangoSite 参考这里 2,建立视图 from django.http import HttpR ...
- Python & Django 学习笔记
最近在学校Python和Django.在学习中遇到了种种的问题,对于一个新手来说,下面的问题可能都会遇到.希望能帮助到那些和我一样的人!!0.python-dev安装(ubuntu) apt-get ...
- python Django 学习笔记(五)—— Django admin自动管理界面
1,激活管理界面 修改settings.py MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.c ...
- Python——Django学习笔记
Django——一个封装好的神奇框架 若本文有任何内容错误,望各位大佬指出批评,并请直接联系作者修改,谢谢!小白学习不易. 一.简要模型 模型类操作数据表: python manage.py shel ...
- python Django 学习笔记(六)—— 写一个简单blog做增删改练手
简单效果图 1,创建一个项目myblog 可参考这里 myblog/ manage.py myblog/ __init__.py settings.py urls.py wsgi.py 2,创建blo ...
- python Django 学习笔记(四)—— 使用MySQL数据库
1,下载安装MySQLdb类库 http://www.djangoproject.com/r/python-mysql/ 2,修改settings.py 配置数据属性 DATABASES = { 'd ...
随机推荐
- C++笔记(8)常规new运算符和定位new运算符
通常,new负责在堆(heap)中找到一个能够满足要求的内存块.new运算符还有一种变体,被称为定位(placement)new运算符,他能让你能够指定要使用的位置.程序员可以使用这种特性来设置其内存 ...
- 透过 node-exporter 彻底弄懂机器监控:01. node-exporter 框架讲解
前言 Prometheus 生态里有很多采集器负责各类监控数据的采集,其中使用最广泛的,显然是 node-exporter,负责 Linux.BSD 等系统的常规监控指标的采集,比如 CPU.内存.硬 ...
- 知名火锅连锁企业,IT 团队如何在数千家门店中先于用户发现故障
该知名火锅连锁企业是中国领先的餐饮企业,上千家门店遍布全球,由于门店餐饮行业的特殊性,需要靠前部署服务,所以在每家餐厅中,会部署相应的服务器,及相应 IT 设备,本地会运行POS.会员.下单等业务.公 ...
- 高德的API来查询行政区域查询
高德的API来查询行政区域查询 1.api接口文档地址 https://lbs.amap.com/api/webservice/guide/api/district GET https://resta ...
- VMware 虚拟机下载
VMware破解版下载地址: https://www.aliyundrive.com/s/CUr4eaMgxGa 提取码:e0c8 激活码: ZF3R0-FHED2-M80TY-8QYGC-NPKYF ...
- 08-Python迭代器与生成器
迭代器 什么是迭代器 迭代是Python最强大的功能之一,是访问序列中元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器 ...
- Windows记录登录日志
有的时候,我们希望系统记录登录的日志,以便查看有无他人动过自己的电脑. 步骤 1.在windows中搜索并打开"组策略". 2.点击计算机配置-->Windows设置--&g ...
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Account Kit(2)
1.问题描述: 怎么判断登录的华为帐号有变动? 解决方案: 华为帐号登录成功后会返回唯一标识OpenID和UnionID,如果切换不同的华为帐号登录,这个唯一标识会变. OpenID是华为帐号用户在不 ...
- 高通与At指令:基础概念
背景 在某个新基线上移植AT指令,发现有问题,因此收集了这个系列的 文章 作为 这方面的知识补充. 原文作者:laozhuxinlu,本文有删改. AT指令在产线中是一类比较重要的问题, 一天没来得及 ...
- Nuxt3 的生命周期和钩子函数(五)
title: Nuxt3 的生命周期和钩子函数(五) date: 2024/6/29 updated: 2024/6/29 author: cmdragon excerpt: 摘要:本文详细介绍了Nu ...