mysql and Django configuration and simple operation of the database
This article mainly introduces Django+mysql configuration and simple operation database examples. Friends who need it can refer to it
Step 1: Download the mysql driver
cmd to enter the created django project directory: use the command
pip install mysqlclient
and wait for the installation to be successful!
Step 2: Configure mysql connection parameters in settings.py (if you don’t have mysql, install mysql first)
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '数据库名(你得先在mysql中创建数据库)', 'USER':'mysql用户名(如root)', 'PASSWORD':'密码(如123456789)', 'HOST':'域名(127.0.0.1或localhost)', 'PORT':'端口号(3306)', } }
Step 3: Create the model class in models.py
from django.db import models # Create your models here. 类似于MVC架构中的Model class Article(models.Model): title = models.CharField(max_length=60,default='title') content = models.TextField(null=True)
Step 4: Create a database table based on the model class
1. cmd into the django project path
2. Python manage.py migrate #Create the table structure, non Other tables of the model class, required by Django
3, python manage.py makemigrations app name#Preparation for data migration
For example: python manage.py makemigrations myblog myblog is in my project app name
4, python manage.py migrate #Execute migration and create medel table structure
##Step 5: Start writing code
First let’s talk about the requirements, which is to insert a record into MySQL in the code and display it on the page1. Create a new template under templates, which is actually a page, such as index.html<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h2 id="nbsp-article-title"> {{article.title}}</h2> 内容:{{ article.content }} </body> </html>Use {{ }} to display data on the page. You will understand if you look at it here2. Configure URL1. In the project Configure url mapping in urls.py under the project (note that it is urls.py under the project):
from django.conf.urls import url,include from django.contrib import admin #根url配置 urlpatterns = [ #url(页面正则,响应的方法名称) url(r'^admin/', admin.site.urls), url(r'^myblog/',include('myblog.urls')), ]Note here that there is a
include ('myblog.urls') is the secondary url we want to configure next. Configure
from django.conf.urls import url from django.contrib import admin from . import views urlpatterns = [ #url(页面正则,响应的方法名称) ^index$:表示要以index开始和结束,正则约束 url(r'^index/$',views.index), ]in the urls.py under the app. Now a path is 'localhost:8000/myblog/ The access path of index/' is configured. url(r'^index/$', views.index) means that the final /myblog/index/ path is responded to by the index method in views.py. 3. Write a response function: insert a data into the image data and display it on the page
from django.shortcuts import render from django.http import HttpResponse from myblog.models import Article # Create your views here. def index(request): article = Article(title='标题',content='内容!') article.save() return render(request,'index.html',{'article':article}
Step 6 : Run the project
I use pycharm here, just click the run button. If you don’t have pycharm, you can use:python manage.py runserverStart the server, then enter http://localhost:8000/myblog/index/ in the browser, and call it a day!
The above is the detailed content of mysql and Django configuration and simple operation of the database. For more information, please follow other related articles on the PHP Chinese website!

MySQL'sBLOBissuitableforstoringbinarydatawithinarelationaldatabase,whileNoSQLoptionslikeMongoDB,Redis,andCassandraofferflexible,scalablesolutionsforunstructureddata.BLOBissimplerbutcanslowdownperformancewithlargedata;NoSQLprovidesbetterscalabilityand

ToaddauserinMySQL,use:CREATEUSER'username'@'host'IDENTIFIEDBY'password';Here'showtodoitsecurely:1)Choosethehostcarefullytocontrolaccess.2)SetresourcelimitswithoptionslikeMAX_QUERIES_PER_HOUR.3)Usestrong,uniquepasswords.4)EnforceSSL/TLSconnectionswith

ToavoidcommonmistakeswithstringdatatypesinMySQL,understandstringtypenuances,choosetherighttype,andmanageencodingandcollationsettingseffectively.1)UseCHARforfixed-lengthstrings,VARCHARforvariable-length,andTEXT/BLOBforlargerdata.2)Setcorrectcharacters

MySQloffersechar, Varchar, text, Anddenumforstringdata.usecharforfixed-Lengthstrings, VarcharerForvariable-Length, text forlarger text, AndenumforenforcingdataAntegritywithaetofvalues.

Optimizing MySQLBLOB requests can be done through the following strategies: 1. Reduce the frequency of BLOB query, use independent requests or delay loading; 2. Select the appropriate BLOB type (such as TINYBLOB); 3. Separate the BLOB data into separate tables; 4. Compress the BLOB data at the application layer; 5. Index the BLOB metadata. These methods can effectively improve performance by combining monitoring, caching and data sharding in actual applications.

Mastering the method of adding MySQL users is crucial for database administrators and developers because it ensures the security and access control of the database. 1) Create a new user using the CREATEUSER command, 2) Assign permissions through the GRANT command, 3) Use FLUSHPRIVILEGES to ensure permissions take effect, 4) Regularly audit and clean user accounts to maintain performance and security.

ChooseCHARforfixed-lengthdata,VARCHARforvariable-lengthdata,andTEXTforlargetextfields.1)CHARisefficientforconsistent-lengthdatalikecodes.2)VARCHARsuitsvariable-lengthdatalikenames,balancingflexibilityandperformance.3)TEXTisidealforlargetextslikeartic

Best practices for handling string data types and indexes in MySQL include: 1) Selecting the appropriate string type, such as CHAR for fixed length, VARCHAR for variable length, and TEXT for large text; 2) Be cautious in indexing, avoid over-indexing, and create indexes for common queries; 3) Use prefix indexes and full-text indexes to optimize long string searches; 4) Regularly monitor and optimize indexes to keep indexes small and efficient. Through these methods, we can balance read and write performance and improve database efficiency.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Dreamweaver Mac version
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.
