用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. IDEA使用@Autowired注解为什么会提示不建议?

    ​在使用IDEA编写Spring相关的项目时,当在字段上使用@Autowired注解时,总会出现一个波浪线提示:"Field injection is not recommended.&qu ...

  2. java多线程使用详解与案例,超详细

    一.创建线程的方式 1.继承Thread类 让子类继承Thread线程类 子类必须重写Thread类的run方法 创建一个自己定义的线程对象 调用start()方法启动线程 //测试类 /** * 1 ...

  3. MacOS系统(M1/M2)安装AI绘画StableDiffusion保姆级教程

    安装完成后,推荐阅读这篇教程:AI绘画:Stable Diffusion 终极炼丹宝典:从入门到精通 实操环境: macOS 13 Arm64(建议12以上的系统使用) Apple M1 先来看几个样 ...

  4. 日志开源组件(六)Adaptive Sampling 自适应采样

    业务背景 有时候日志的信息比较多,怎么样才可以让系统做到自适应采样呢? 拓展阅读 日志开源组件(一)java 注解结合 spring aop 实现自动输出日志 日志开源组件(二)java 注解结合 s ...

  5. Spring Boot 中使用 Poi-tl 渲染数据并生成 Word 文档

    本文 Demo 已收录到 demo-for-all-in-java 项目中,欢迎大家 star 支持!后续将持续更新! 前言 产品经理急冲冲地走了过来.「现在需要将按这些数据生成一个 Word 报告文 ...

  6. 「codeforces - 1394C」Boboniu and String

    link. 注意到 BN-string 长成什么样根本不重要,我们把它表述为 BN-pair \((x, y)\) 即可,两个 BN-strings 相似的充要条件即两者分别映射得到的 BN-pair ...

  7. Python爬虫-IP隐藏技术与代理爬取

    在进行爬虫程序开发和运行时,常常会遇到目标网站的反爬虫机制,最常见的就是IP封禁,这时需要使用IP隐藏技术和代理爬取. 一.IP隐藏技术 IP隐藏技术,即伪装IP地址,使得爬虫请求的IP地址不被目标网 ...

  8. Jmeter调用Python脚本,实现参数互相传递

    首先传值到python 1:新增取样器--->os进程取样器 2:新建.bat文件 (写python脚本的路径和传参的个数:思路是:jmeter调用shell,用shell执行py) F:cd ...

  9. 是因为不同的浏览器内核吗--Could not register service workers到底是怎么回事

    什么是浏览器内核 浏览器内核(Rendering Engine),是浏览器最核心的部分. 它负责处理网页的HTML.CSS.JavaScript等代码,并将其转化为可视化的网页内容.即我们常说的对网页 ...

  10. C# ref, in, out关键字

    写在前面:大内老A的这篇"老生常谈:值类型VS引用类型"放在微信收藏里好几个月了,终于趁着要讲JAVA传参机制的时候仔细地按照这篇博客,自己写代码跑一下,对C#的传参,ref,in ...