Python 创建一个Django项目
1 环境搭建及创建
1) 安装Django
方法一:pip install django
方法二:Pycharm File——settings——Project——Python Interpreter——Python3.9 添加Django安装,设置django的环境变量
3)创建Django项目
命令行至指定目录下,django-admin startproject djangotest
4)启动django 项目
python manage.py runserver
5)创建一个App
django-admin startapp webtest
6)关闭django
ctrl+C
2 数据库连接
1)定义模型:在app中的 models.py 中创建class(一个class对应一张表);
from django.db import models
# Create your models here.
class Topic(models.Model):
"""用户学习的主题"""
text=models.CharField(max_length=200) #指明字符数据类型,长度200
date_added=models.DateTimeField(auto_now_add=True) # 创建新主题时,自动创建当前时间
def __str__(self):
return self.text
class Entry(models.Model):
"""学到的有关某个主题的具体知识"""
topic=models.ForeignKey(Topic,on_delete=models.CASCADE) # 外键 级联删除,即删除Topic时删除Entry
text=models.TextField()
date_added=models.DateTimeField(auto_now_add=True)
class Meta:
verbose_name_plural='entries'
def __str__(self):
return f"{self.text[:50]}..."
2)激活模型:在project下得seetings.py 中的INSTALLED_APPS 中添加app名称 (要将自己app名称放在默认前,这样能覆盖默认应用程序行为)
3)连接自带sqlite数据库
- 命令行cd 至包含manage.py路径下【每次修改数据后 都需要执行下面两步迁移模型】
- 生成数据库迁移文件:python manage.py makemigrations appname
- 迁移修改数据库:python manage.py migrate
- 使用Django的模型管理网站 维护数据
- o 创建超级用户
python manage.py createsuperuser
- 向管理网站注册模型 app路径下 admin.py
# Register your models here. from .models import Topic #Topic为models中创建的class名 admin.site.register(Topic) #让Django通过管理网站管理模型 admin.site.register(Entry)
- 管理网站管理 维护用户、用户组以及model
启动网站,访问/admin/
- 命令行维护数据库
- o python manage.py shell
from appname.models import classname classname.objects.all() #查询该表所有实例
- 遍历
topics=Topic.objects.all() for topic in topics: print(topic.id,topic)
- 查询
t=Topic.objects.get(id=1) t.text
- 退出
exit()
3 配置路由和页面
1) 映射URL
- 在project路径urls.py引入from django.urls import path,include,然后再urlpatterns中添加:
path('',include('webtest.urls'))
- 在app路径下创建urls.py 添加以下代码
"""定义webtest的URL模式"""
from django.urls import path
from . import views
# app_name='webtest' # 区别其他app同名文件,这里有一个问题就是在users中必须存在,在webtest中必须注释掉
urlpatterns=[
# 主页
path('',views.index,name='index') #第一参数 路由;第二个参数 views.py中对应函数;第三个参数 指定名称
]
2)搭建view(也就是MVC中的controller)
from django.shortcuts import render # 根据视图提供的数据渲染响应
# Create your views here.
def index(request): # 网站请求查找路由到index,然后将request传递给函数
""""学习笔记主页"""
return render(request,''index.html')
3)在app路径下创建templates创建index.html
4 Django响应的前后端交互
- 就是通过{% %}代码块展示后端数据,具体看 djangotest 项目代码
- Django中的前后端交互式后台强制解析,然后主要就是登录检测,django.contrib.auth.urls需要在users的urls.py views.py(@ =login_required) 以及在settings.py设置被登录拦截找首页(LOGIN_URL='users:login') # users:login是url配置的路由路径
5 设置应用程序样式
- 安装django-bootstrap4
pip install django-bootstrap4
- 项目引用
settings.py 的INSTALLED_APPS 中 添加 'bootstrap4',
- 在html中直接加class,在head中加入
{% load bootstrap4 %}
{% bootstrap_css %}
{% bootstrap_javascript jquery='full' %}
- 表单页 代码如下
{% block content %}
{% if form.errors %}
<p>Your username and password didn't match.Please try again.</p>
{% endif %}
{% block page_header %}
<h2>Log in to your account.</h2>
{% endblock page_header %}
<form method="post" action="{% url 'users:login' %}" class="form">
{% csrf_token %}
{% bootstrap_form form %}
{% buttons %}
<button name="submit" class="btn btn-primary">Log in</button>
{% endbuttons %}
<input type="hidden" name="next" value="{% url 'index' %}" />
</form>
{% endblock content %}
- 不加样式表单页 代码如下
{% block content %}
<p><a href="{% url 'index' %}">index</a></p>
<p>Add a new topic:</p>
<form action="{% url 'new_topic' %}" method="post">
{% csrf_token %}
{{ form.as_p }}
<button name="submit">Add topic</button>
</form>
{% endblock content %}
6 Django+Mysql+Vue
- 看到网上那么多教程,我相信Django+Mysql+Vue的过程应该不是那么难了吧
Python 创建一个Django项目的更多相关文章
- Django之真正创建一个django项目
真正创建一个django项目 1 创建Django项目 :new-project 2 创建APP : python manager.py startapp app01 3 setting 配 ...
- 创建一个Django项目
创建一个django项目: 1. django-admin startproject student_manage(项目名) 2. cd student_manage python manage.p ...
- Python-Django学习笔记(二)-创建一个Django项目与应用
1.创建一个Django项目 打开cmd命令行,设置好工作目录(cd 目录路径),然后输入 django-admin startproject projectname #必须安装好Django才可以执 ...
- 如何创建一个Django项目
Django 软件框架 软件框架是由其中的各个模块组成,每个模块负责特定的功能,模块与模块之间相互协作来完成软件开发. MVC简介 MVC框架的核心思想是:解耦,让不同的代码块之间降低耦合,增强代码的 ...
- 创建一个Django项目的基本步骤
创建一个Django 的常规步骤 1.寻找一个磁盘目录,比如 e: 2.django-admin startproject ops 3.cd ops 4.python manage.py starta ...
- 初学者用pycharm创建一个django项目和一个app时需要注意的事项
如何新建一个djiango项目: 1.在pycharm中点击File,选择new project,点击djiango,在右面的Location中将untitile改为你的项目名,其余部分注意见下图: ...
- 使用Pycharm创建一个Django项目
在使用python写脚本一段时间后,想尝试使用Django来编写一个python项目,现做以下记录备忘: 1.创建项目 如果本地没有安装与所选python版本对应Django版本,pycharm会自动 ...
- 创建一个 Django 项目
一. 创建项目 其中: 确认项目是否创建成功: 在 manage.py 目录上运行 python manage.py runserver server 启动后,在浏览器访问 http://127.0. ...
- Pycharm创建一个Django项目
1.创建项目 如果本地没有安装与所选python版本对应Django版本,pycharm会自动下载相应的版本: 创建后运行项目,默认页面为http://127.0.0.1:8000/,打开后: 出现上 ...
随机推荐
- 神经网络AI加速器技术
神经网络AI加速器技术 能够直接加速卷积神经网络,还能够直接运行常见的网络框架,如TensorFlow.Caffe.PyTorch,DarkNet等,支持用户定制化的网络和计算类型. 功能特点: ● ...
- 【译】.NET 5 中的诊断改进
基于我们在 .NET Core 3.0 中引入的诊断改进,我们一直在努力进一步改进这个领域.我很高兴介绍下一波诊断改进. 诊断工具不再需要 .NET SDK 直到最近,.NET 诊断工具套件还只能作为 ...
- 孟老板 BaseAdapter封装 (三) 空数据占位图
BaseAdapter封装(一) 简单封装 BaseAdapter封装(二) Header,footer BaseAdapter封装(三) 空数据占位图 BaseAdapter封装(四) PageHe ...
- .NET平台系列21:云原生时代 .NET5 雄霸天下
系列目录 [已更新最新开发文章,点击查看详细] 随着互联网持续高歌猛进,相关技术名词也是层出不穷.微服务.容器化.DevOps.ServerLess.FaaS,这两年最火的当属云原生Cloud ...
- javascript中的设计模式
什么是设计模式 设计模式(Design Pattern)是一套被反复使用.多数人知晓的.经过分类的.代码设计经验的总结. 使用设计模式的目的:为了代码可重用性.让代码更容易被他人理解.保证代码可靠性. ...
- 【NX二次开发】布尔操作
//布尔操作 //UF_MODL_operations 对两个体执行布尔操作 //UF_MODL_unite_bodies 相加布尔操作,不可保留目标体.工具体 //UF_MODL_unite_bod ...
- MIT6.828-LAB1 : PC启动
Lab1 1. 先熟悉PC的物理地址空间 这里其实有很多可以说的,不过先简单描述一下吧.从0x00000000到0x00100000这1mb的地址空间时机器处于16位的实模式.也就是说这个时候机器的汇 ...
- 安装nodejs版本模块报错notsup Unsupported platform for n
使用npm install -g n报错 如果出现npm ERR! notsup Unsupported platform for n@6.7.0: wanted {"os":&q ...
- CCF CSP认证考试在线评测系统
关于 CCF CSP 认证考试在线评测系统 CCF CSP 认证考试简介 CCF 是中国计算机学会的简称.CCF 计算机软件能力认证(简称 CCF CSP 认证考试)是 CCF 于 2014 年推出, ...
- JS里的异步实例化
JS里的异步构造函数 众所周知,Js的构造函数是不能加上async/await来实现异步实例化的,一般当需要一个对象的属性是异步的结果时可以这样写: //! 一个需要指定时间后返回的异步函数 func ...