用pycharm创建一个django框架

注意解释器的选择和文件路径

创建完django项目

1.自动创建了一个templates目录(先删除)

2.把settings里的

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [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',
],
},
},
]

改成

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': []
,
'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',
],
},
},
]

即取消默认的templates文件夹

默认项目文件夹

settings.py【项目配置】

urls.py【url和函数的对应关系】

asgi.py【接收网络请求(不要动的)】

wsgi.py【接收网络请求(不要动的)】

创建app

找到manage.py文件目录

调用python startapp+app名称

python manage.py startapp cnnDjango

完成!

C:\Users\HP\.conda\envs\pytorch-gpu\python.exe "D:\pycharm\PyCharm 2022.1.3\plugins\python\helpers\pycharm\django_manage.py" startapp cnnDjango E:/pyzixue/cnn_django
Tracking file by folder pattern: migrations Following files were affected
E:\pyzixue\cnn_django\cnnDjango\migrations\__init__.py
进程已结束,退出代码0

现在总体文件是这样

卷 game 的文件夹 PATH 列表
卷序列号为 B0AB-9373
E:.
├─.idea
│ └─inspectionProfiles
├─cnnDjango
│ └─migrations
└─cnn_django

models.py【对数据库操作】

views.py【函数】

快速上手

确保app已经注册【settings.py]

1、找到apps.py 找到

class CnndjangoConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'cnnDjango'

2、返回settings.py找到已经安装的app加进去

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]

加入进去后

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'cnnDjango.apps.CnndjangoConfig',
]

编写url和视图函数对应关系【urls.py】

先将views导入完成

不用默认的admin

修改成

from cnnDjango import views
urlpatterns = [
#path('admin/', admin.site.urls),
#www.xxx.com/index/ -> 函数
path('index/', views.index),
]

编写视图函数【views.py】

在views.py中定义index函数

from django.shortcuts import render,HttpResponse

def index(request):
return HttpResponse('欢迎使用!')

启动django项目

命令行启动

python manage.py runserver

pycharm启动

右上角启动运行

成功之后可以访问

http://127.0.0.1:8000/index/

设置模板文件夹

在app文件夹下面创建templates文件夹

在templates创建html文件夹即可在【views.py】中使用函数跳转

# 会去app目录下的templates目录寻找xxx.html文件
# 根据app注册的顺序,逐一查找
return render(request,"XXX.html")

创建静态文件夹

在app目录下创建一个static文件夹

在html中可以这样读取static文件内容

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<img src="{% static 'img/1.png' %}" alt="">
</body>
</html>

这么写的优势是如果想改变整个static文件目录

可以去【settings.py】中改变一下代码文件

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.2/howto/static-files/ STATIC_URL = '/static/'

改变static即可改变所有静态文件目录

django的模板语法

在【views.py】中

return render(request,'xxx,html',dict)

意为往xxx.html传入一个字典

在html生成中可以调用dict的内容

{% for item in dict%}
<li>{{ item.xxx }}</li>
{% endfor %}

连接mysql模块

不需要Mysql数据库 + pymysql

使用django内置的orm框架

先安装模块

pip install mysqlclient

但是注意它无法创建数据库,所以数据库得我们自己创建

1.先进入msql

show databases

2.创建数据库

CREATE database 数据库名字 DEFAULT CHARSET utf8 COLLATE uft8_general_ci;

3.django连接数据库

在【settings.py】找到

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}

修改成

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME':'dbname',
'USER': 'root',
'PASSWORD': '123456',
'HOST': '127.0.0.1',
'PORT': 3306,
}
}

django创建表

在【models.py】文件中操作表

定义类

from django.db import models

# Create your models here.
class UserInfo(models.Model):
name = models.CharField(max_length=32)
pwd = models.CharField(max_length=64)
age = models.IntegerField()

写好之后在【manage.py】目录文件

python manage.py makemigrations
python manage.py migrate

执行这两个命令即可更新mysql

前提:你的app已经注册!

在项目同名的【init.py】文件中加入

import pymysql
pymysql.install_as_MySQLdb()

表的增删改查

在【views.py】文件中

from app01.models import UserInfo
def orm(request):
#测试ORM操作表中的数据
UserInfo.objects.create(name = 'xxxx')
#删除
UserInfo.objects.filter(id=3).delete()
#获取数据
data_list = UserInfo.objects.all()
for obj in data_list:
print(obj.od,obj.name)
#获取第一行
UserInfo.objects.filter(id=3).first()
#更新数据
UserInfo.objects.all().update(age = 18)
UserInfo.objects.filter(id=2).update(age = 18)
return HttpResponse("成功")

用pycharm创建一个django框架的更多相关文章

  1. 初学者用pycharm创建一个django项目和一个app时需要注意的事项

    如何新建一个djiango项目: 1.在pycharm中点击File,选择new project,点击djiango,在右面的Location中将untitile改为你的项目名,其余部分注意见下图: ...

  2. 使用Pycharm创建一个Django项目

    在使用python写脚本一段时间后,想尝试使用Django来编写一个python项目,现做以下记录备忘: 1.创建项目 如果本地没有安装与所选python版本对应Django版本,pycharm会自动 ...

  3. Pycharm创建一个Django项目

    1.创建项目 如果本地没有安装与所选python版本对应Django版本,pycharm会自动下载相应的版本: 创建后运行项目,默认页面为http://127.0.0.1:8000/,打开后: 出现上 ...

  4. Django(博客系统):基于pycharm如何一个django工程下创建多个app

    背景:通常我们创建一个django系统时,为了把业务模块划分清楚往往会把一个独立的业务模块放到一个app中,如果多个独立的业务模块就会创建多个app,一般情况下为了更好的管理这些app,会把他们都存放 ...

  5. 创建一个Django项目

    创建一个django项目: 1. django-admin  startproject student_manage(项目名) 2. cd student_manage python manage.p ...

  6. 创建一个Django项目的基本步骤

    创建一个Django 的常规步骤 1.寻找一个磁盘目录,比如 e: 2.django-admin startproject ops 3.cd ops 4.python manage.py starta ...

  7. Django之真正创建一个django项目

    真正创建一个django项目 1 创建Django项目     :new-project 2 创建APP :  python manager.py startapp app01 3 setting 配 ...

  8. django学习笔记【001】django版本的确定&创建一个django工程

    2.3 查看当前的django版本 python3. -m django --version 2.3.1 创建一个django工程 django-admin startproject mysite 在 ...

  9. Python-Django学习笔记(二)-创建一个Django项目与应用

    1.创建一个Django项目 打开cmd命令行,设置好工作目录(cd 目录路径),然后输入 django-admin startproject projectname #必须安装好Django才可以执 ...

  10. 如何创建一个Django项目

    Django 软件框架 软件框架是由其中的各个模块组成,每个模块负责特定的功能,模块与模块之间相互协作来完成软件开发. MVC简介 MVC框架的核心思想是:解耦,让不同的代码块之间降低耦合,增强代码的 ...

随机推荐

  1. 解放双手!ChatGPT助力编写JAVA框架

    亲爱的Javaer们,在平时编码的过程中,你是否曾想过编写一个Java框架去为开发提效?但是要么编写框架时感觉无从下手,不知道从哪开始.要么有思路了后对某个功能实现的技术细节不了解,空有想法而无法实现 ...

  2. 开源 SD-Small 和 SD-Tiny 知识蒸馏代码与权重

    最近,人工智能社区在开发更大.更高性能的语言模型方面取得了显著的进展,例如 Falcon 40B.LLaMa-2 70B.Falcon 40B.MPT 30B; 以及在图像领域的模型,如 SD2.1 ...

  3. SpringBoot + 自定义注解,实现用户操作日志(支持SpEL表达式)

    背景 一个成熟的系统,都会针对一些关键的操作,去创建用户操作日志. 比如: XX人创建了一条订单,订单号:XXXXXXXXX 因为操作人或者订单号是动态的,所以有些开发人员,不知道获取,就将这种操作日 ...

  4. Solution -「CSP 2019」Partition

    Description Link. 给出一个数列,要求将其分成几段,使每段的和非严格递增,求最小的每段的和的平方和. Solution 注意到 \(a_{i}\) 为正,对于正数有这样的结论: \[a ...

  5. ERP 财务管理的应付帐款流程

    导读:应付帐款流程与应收帐款流程是财务管理的开端,也是财务工作的主要流程.若能够这两大流程控制好了,ERP系统的财务模块也就成功了一大半了.我先讲一下财务管理的应付帐款流程. 企业的应付帐款有很多种类 ...

  6. 关于如何解决visualc++6.0打开文件闪退的一种方式(附带解决输入法无法显示)

    这里我把VisualC++6.0安装程序和filetool分享在我的网盘里面了 网盘下载QAQ 链接:https://pan.baidu.com/s/1azSMX_cOKgb64WT7-gTdbQ?p ...

  7. 每天5分钟复习OpenStack(七)内存虚拟化

    标题中的存储虚拟化,涉及到两个方面,分别是内存和磁盘的虚拟化技术.内存的虚拟化就不得不提EPT和VPID 技术. 首先申明下本人其实不想写一些纯理论的东西,但是架不住面试经被问,为此特将一些特别复杂的 ...

  8. moment日期处理类库

    Moment 被设计为在浏览器和 Node.js 中都能工作. 安装 npm install moment --save # npm yarn add moment # Yarn 使用 /** * F ...

  9. mysql练习案例(实操)

    最近想要在回去复习mysql语句,就在网上找了一些案例练习,起初找得都是零零散散的,后面参考这篇博客做出了一个实操案例.Eric_Squirrel:mysql学生表经典案例50题. 首先是建表,我用的 ...

  10. Java初始化顺序及使用Spring情况下初始化

    Java初始化顺序 1  无继承情况下的Java初始化顺序: class Sample {       Sample(String s)       {             System.out. ...