목차
명령어를 통해 데이터베이스를 운영하는 것이 특히 불편합니다. 백그라운드 관리 웹페이지를 통해 데이터베이스의 동작을 구현합니다
백엔드 개발 파이썬 튜토리얼 Python에서 Django 책 문자 적응 시스템 구현 방법(백엔드)

Python에서 Django 책 문자 적응 시스템 구현 방법(백엔드)

Nov 15, 2018 pm 03:18 PM
mysql python sqlite windows

이 기사의 내용은 Python에서 Django 책 문자 적응 시스템의 구현 방법(백엔드)에 관한 것입니다. 필요한 친구들이 참고할 수 있기를 바랍니다.

Django

Python에는 다양한 웹 프레임워크가 있습니다. 장고(Django)는 헤비급 선수 중 가장 대표적인 선수이다. 많은 성공적인 웹사이트와 앱이 Django를 기반으로 합니다.
Django는 Python으로 작성된 오픈 소스 웹 애플리케이션 프레임워크입니다.

Django 기본

버전: Django 1.10
Pycharm을 사용하여 FirstDjango라는 새 프로젝트 Django를 만듭니다.
FirstDjango 디렉토리, 템플릿 디렉토리, Manage.py 파일이 있습니다
Flask_script 명령줄과 유사한 Manage.py 파일을 실행합니다

 python manage.py makemigrations   #相当于初始化数据库表
 python manage.py migrate #相当于数据库迁移命令,这里的数据库存储都是放在db.sqlite3文件里
 python manage.py createsuperuser #创建超级用户,生成db.sqlite3文件
 python manage.py runserver 7899 #默认端口号:8000
로그인 후 복사

http://127.0.0.1:7899/에 접속해 보면 성공 페이지를 볼 수 있지만 아직 앱이 실제로 실행되지는 않았습니다

Python에서 Django 책 문자 적응 시스템 구현 방법(백엔드)

언어 및 시간대를 수정하세요(setting.py)

# LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-hans'

# TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Shanghai'
로그인 후 복사

Django는 플라스크와 다르기 때문에 매번 수정할 필요가 없습니다. 코드를 수정하는 경우에는 프로그램을 다시 시작하세요.

http://127.0.0.1:7899/admin/, 백그라운드 관리에 액세스할 수 있습니다
여기에서 새 사용자 및 새 그룹을 추가할 수 있습니다. 새 사용자 및 그룹에 권한을 할당할 수 있지만 슈퍼 배포 권한을 실행할 수는 없습니다. users.Function
예: add_group 그룹에 '그룹 추가 가능'을 추가합니다. 일반 사용자를 생성하고 add_group 그룹에 속해 있으며 직원 상태를 확인합니다(사용자가 이 관리 사이트에 로그인할 수 있는지 표시).
일반 사용자로 백엔드 관리에 로그인하면 그룹 추가 옵션만 표시됩니다.

Python에서 Django 책 문자 적응 시스템 구현 방법(백엔드)

나만의 애플리케이션(앱) 만들기 -- book

터미널 입력

python manage.py startapp book
로그인 후 복사
은 현재 프로젝트에 책/디렉토리를 생성합니다

나만의 애플리케이션 파일을 만든 후 먼저 애플리케이션을 project settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'book',
]
로그인 후 복사
데이터베이스 구조 작성 시작(model.py)

먼저 데이터베이스 테이블이 무엇인지 결정하세요: 책, 캐릭터.

그런 다음 각 테이블의 구조를 결정합니다. 책의 속성은 ID, 제목, 출판 시간, 초록, 표지입니다. 캐릭터 속성: ID, 이름, 성별, 소개, 도서 소속.
마지막으로 테이블 간의 관계를 결정합니다. 책에 여러 문자가 있고, 문자 데이터베이스 테이블에 외래 키를 씁니다.

Django 프레임워크 구조에서는 플라스크와 같은 역참조를 작성할 필요가 없습니다

# book/models.py
from django.db import models

# Create your models here.
class BookInfo(models.Model):
    # 这里不需要写id,Django框架默认会生成id,并作为主键pk
    btitle = models.CharField(max_length=100,unique=True,verbose_name='书籍标题')     # 表示在后台管理中这一栏的中文显示
    bpub_time  = models.DateField(verbose_name='出版时间')
    # bcontent = models.TextField(default='摘要',verbose_name='书籍摘要')
    # bimg = models.ImageField(default=None,upload_to='static/uploads/')
    class Meta:    ##表示这个数据库表在后台中的中文显示,因为英语区分单复数,所以需要写上单复数的中文显示
        verbose_name = '书籍信息'
        verbose_name_plural = '书籍信息'
    def __str__(self):
        return '%s' %(self.btitle)

class HeroInfo(models.Model):
    hname = models.CharField(max_length=50,verbose_name='人物姓名')
    hgender = models.BooleanField(default=True,verbose_name='人物性别')
    # 任务简介
    hcontent = models.TextField(verbose_name='人物简介')
    # 多的一端写外键
    hbook = models.ForeignKey(BookInfo,verbose_name='所属书籍')
    @property
    def gender(self):
        if self.hgender:
            return '男'
        else:
            return '女'
    class Meta:
        verbose_name = '人物信息'
        verbose_name_plural = '人物信息'
    def __str__(self):
        return '%s' %(self.hname)
로그인 후 복사
sqlite3 파일 형식 사용 Database

Django 기본적으로 sqlit3 데이터베이스가 사용되는데, 이는 프로젝트의 settings.py 파일에서 확인할 수 있습니다

DATABASES = {
    'default': {
         'ENGINE': 'django.db.backends.sqlite3',
         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
     }
}
로그인 후 복사
응용서의 models.py 파일을 작성한 후 데이터베이스 생성을 시작합니다

python manage.py makemigrations   
python manage.py migrate
로그인 후 복사
방법 sqlite3 데이터베이스 테이블 입력

python manage.py shell    #打开类似数据库交互命令的窗口
로그인 후 복사
1. 데이터베이스에 데이터 추가


>>> from book.models import BookInfo,HeroInfo
>>> from datetime import date
>>> book1 = BookInfo(btitle='小王子',bpub_time=date(1942,5,13))
>>> book1.save()
로그인 후 복사
2. 데이터베이스 검색


>>> BookInfo.objects.all()
<queryset>]></queryset>
로그인 후 복사
지정된 정보를 기반으로 검색

>>> book = BookInfo.objects.get(id=1)
>>> book.btitle
'小王子'
로그인 후 복사
3. 데이터베이스 데이터 수정


>>> book1.btitle = '安徒生童话'
>>> book1.save()
>>> book = BookInfo.objects.get(id=1)
>>> book.btitle
'安徒生童话'
로그인 후 복사
4. 데이터베이스 데이터


>>> book = BookInfo.objects.get(id=1)
>>> book.delete()
(1, {'book.HeroInfo': 0, 'book.BookInfo': 1})
>>> book = BookInfo.objects.all()
>>>
로그인 후 복사
5. 데이터베이스 테이블 간의 연관

먼저 외래 키 없이 데이터베이스 테이블 정보를 생성합니다

>>> book1 = BookInfo(btitle='小王子',bpub_time=date(1942,5,13))
>>> book2 = BookInfo(btitle='睡美人',bpub_time=date(1952,6,29))
>>> book1.save()
>>> book2.save()
로그인 후 복사
그런 다음 외래 키를 사용하여 데이터베이스 테이블 정보를 생성합니다

1. 데이터 테이블 구조에 따라 직접 문자를 생성합니다

>>> hero1 = HeroInfo(hname='小王子',hgender=True,hcontent='小王子没有被成人那骗人的世界所征服',hbook=book1)
>>> hero1 = HeroInfo(hname='玫瑰花',hgender=False,hcontent='玫瑰花的虚荣心伤害了小王子对她的感情',hbook=book1)
>>> hero1.save()
>>> hero2.save()
로그인 후 복사
2 . 알려진 책에 해당하는 문자 정보를 기반으로 문자 추가


>>> book1 = BookInfo.objects.get(id=2)
>>> book1.heroinfo_set.all()
<queryset>, <heroinfo:>]>
>>> book1.heroinfo_set.create(hname='小狐狸',hgender=True,hcontent='肉眼看不见事务的本质,只有用心灵才能洞察一切')
<heroinfo:></heroinfo:></heroinfo:></queryset>
로그인 후 복사
문자 정보를 쿼리하는 방법은 두 가지가 있습니다

1. 문자 데이터베이스 테이블을 기반으로 직접 검색

>>> HeroInfo.objects.all()
<queryset>, <heroinfo:>]></heroinfo:></queryset>
로그인 후 복사
2.

>>> book1 = BookInfo.objects.get(id=2)
>>> book1.heroinfo_set.all()
<queryset>, <heroinfo:>]>
>>></heroinfo:></queryset>
로그인 후 복사

mysql 파일 형식의 데이터베이스를 사용하세요

setting.py 파일을 수정하세요. 데이터베이스 구성

# Database
# https://docs.djangoproject.com/en/1.10/ref/settings/#databases

DATABASES = {
    'default': {
        # 'ENGINE': 'django.db.backends.sqlite3',
        # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'firstdjango',    #数据库名称,若没有的话,先在数据库中建立
        'USER': 'root',
        'PASSWORD': 'sheen',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}
로그인 후 복사

여기에서 데이터베이스를 직접 초기화하면 오류가 발생합니다

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'
로그인 후 복사

__init__.py 파일을 설정해야 합니다. 의 프로젝트

# \PycharmProjects\FristDjango\FristDjango\__init__.py
import pymysql
pymysql.install_as_MySQLdb()
로그인 후 복사

터미널에서 명령어를 실행하면 mysql 데이터베이스의 모든 테이블 정보를 볼 수 있습니다
 python manage.py makemigrations  
 python manage.py migrate
로그인 후 복사

사이트에서 데이터베이스의 운영

명령어를 통해 데이터베이스를 운영하는 것이 특히 불편합니다. 백그라운드 관리 웹페이지를 통해 데이터베이스의 동작을 구현합니다

먼저 admin.py 파일에 데이터베이스 테이블을 등록해야 합니다

#book/admin
from django.contrib import admin
from book.models import BookInfo,HeroInfo
# Register your models here.
admin.site.register(BookInfo)
admin.site.register(HeroInfo)
로그인 후 복사

Python에서 Django 책 문자 적응 시스템 구현 방법(백엔드)Books 정보에는 제목만 표시되고 캐릭터 정보에는 이름만 표시되며, 등록된 테이블 구조 수정

#book/admin.py
from django.contrib import admin
from book.models import BookInfo,HeroInfo
# Register your models here.
class BookInfoAdmin(admin.ModelAdmin):
    list_display = ['btitle','bpub_time']
class HeroInfoAdmin(admin.ModelAdmin):
    list_display = ['hname','hgender','hcontent','hbook']   #显示栏
    list_filter = ['hbook'] #过滤器
    search_fields = ['hname','hbook']   #搜索栏
    list_per_page = 2   #每页显示多少条数据
admin.site.register(BookInfo,BookInfoAdmin)
admin.site.register(HeroInfo,HeroInfoAdmin)
로그인 후 복사

Python에서 Django 책 문자 적응 시스템 구현 방법(백엔드)북 테이블에 직접 문자 추가하는 방법, 웹 페이지 표시 효과: 도서 상세 페이지로 점프하면 바로 문자 추가 가능

HeroInline 추가 클래스를 생성하고 BookInfoAdmin 클래스를 수정합니다

# book/admin.py
class HeroInline(admin.TabularInline):
    model = HeroInfo
    extra = 2   #每次增加两个添加人物的表单
    

class BookInfoAdmin(admin.ModelAdmin):
    list_display = ['btitle','bpub_time']
    inlines = [HeroInline]
로그인 후 복사

Python에서 Django 책 문자 적응 시스템 구현 방법(백엔드)

위 내용은 Python에서 Django 책 문자 적응 시스템 구현 방법(백엔드)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

VSCODE는 확장자를 설치할 수 없습니다 VSCODE는 확장자를 설치할 수 없습니다 Apr 15, 2025 pm 07:18 PM

VS 코드 확장을 설치하는 이유는 다음과 같습니다. 네트워크 불안정성, 불충분 한 권한, 시스템 호환성 문제, C 코드 버전은 너무 오래된, 바이러스 백신 소프트웨어 또는 방화벽 간섭입니다. 네트워크 연결, 권한, 로그 파일, 업데이트 대 코드 업데이트, 보안 소프트웨어 비활성화 및 대 코드 또는 컴퓨터를 다시 시작하면 점차 문제를 해결하고 해결할 수 있습니다.

터미널 VSCODE에서 프로그램을 실행하는 방법 터미널 VSCODE에서 프로그램을 실행하는 방법 Apr 15, 2025 pm 06:42 PM

vs 코드에서는 다음 단계를 통해 터미널에서 프로그램을 실행할 수 있습니다. 코드를 준비하고 통합 터미널을 열어 코드 디렉토리가 터미널 작업 디렉토리와 일치하는지 확인하십시오. 프로그래밍 언어 (예 : Python의 Python Your_file_name.py)에 따라 실행 명령을 선택하여 성공적으로 실행되는지 여부를 확인하고 오류를 해결하십시오. 디버거를 사용하여 디버깅 효율을 향상시킵니다.

VScode 란 무엇입니까? VScode 란 무엇입니까? Apr 15, 2025 pm 06:45 PM

VS Code는 Full Name Visual Studio Code로, Microsoft가 개발 한 무료 및 오픈 소스 크로스 플랫폼 코드 편집기 및 개발 환경입니다. 광범위한 프로그래밍 언어를 지원하고 구문 강조 표시, 코드 자동 완료, 코드 스 니펫 및 스마트 프롬프트를 제공하여 개발 효율성을 향상시킵니다. 풍부한 확장 생태계를 통해 사용자는 디버거, 코드 서식 도구 및 GIT 통합과 같은 특정 요구 및 언어에 확장을 추가 할 수 있습니다. VS 코드에는 코드에서 버그를 신속하게 찾아서 해결하는 데 도움이되는 직관적 인 디버거도 포함되어 있습니다.

VScode 확장자가 악의적입니까? VScode 확장자가 악의적입니까? Apr 15, 2025 pm 07:57 PM

VS 코드 확장은 악의적 인 코드 숨기기, 취약성 악용 및 합법적 인 확장으로 자위하는 등 악성 위험을 초래합니다. 악의적 인 확장을 식별하는 방법에는 게시자 확인, 주석 읽기, 코드 확인 및주의해서 설치가 포함됩니다. 보안 조치에는 보안 인식, 좋은 습관, 정기적 인 업데이트 및 바이러스 백신 소프트웨어도 포함됩니다.

VSCODE에서 진행중인 것은 Python을 실행하지 않습니다 VSCODE에서 진행중인 것은 Python을 실행하지 않습니다 Apr 15, 2025 pm 06:00 PM

가장 일반적인 "Python을 실행할 수 없음"문제는 Python 통역사 경로의 오해에서 비롯됩니다. 솔루션에는 Python 설치 확인, 대 코드 구성 및 가상 환경 사용이 포함됩니다. 또한 가상 환경을 사용한 종속성 분리, 중단 점을 사용한 코드 실행 추적 및 모니터링 표현식 등을 사용하여 실시간의 가변 변경을 추적하는 등 브레이크 포인트 디버깅, 가변 모니터링, 로그 출력 및 코드 형식과 같은 효율적인 디버깅 기술 및 모범 사례가 있습니다.

vScode를 Mac에서 사용할 수 있습니다 vScode를 Mac에서 사용할 수 있습니다 Apr 15, 2025 pm 07:45 PM

VS 코드는 MACOS에서 잘 수행되며 개발 효율성을 향상시킬 수 있습니다. 설치 및 구성 단계에는 다음이 포함됩니다. 설치 대 코드 및 구성. 언어 별 확장 (예 : JavaScript 용 Eslint)을 설치하십시오. 과도한 스타트 업이 느려지는 것을 피하려면 확장 기능을주의 깊게 설치하십시오. GIT 통합, 터미널 및 디버거와 같은 기본 기능을 배우십시오. 적절한 테마와 코드 글꼴을 설정하십시오. 참고 잠재적 문제 : 연장 호환성, 파일 권한 등

VScode가 사용하는 언어는 무엇입니까? VScode가 사용하는 언어는 무엇입니까? Apr 15, 2025 pm 11:03 PM

Visual Studio Code (VSCODE)는 Microsoft에 의해 개발되었으며 Electron Framework를 사용하여 구축되었으며 주로 JavaScript로 작성되었습니다. JavaScript, Python, C, Java, HTML, CSS 등을 포함한 광범위한 프로그래밍 언어를 지원하며 확장을 통해 다른 언어에 대한 지원을 추가 할 수 있습니다.

파이썬 : 자동화, 스크립팅 및 작업 관리 파이썬 : 자동화, 스크립팅 및 작업 관리 Apr 16, 2025 am 12:14 AM

파이썬은 자동화, 스크립팅 및 작업 관리가 탁월합니다. 1) 자동화 : 파일 백업은 OS 및 Shutil과 같은 표준 라이브러리를 통해 실현됩니다. 2) 스크립트 쓰기 : PSUTIL 라이브러리를 사용하여 시스템 리소스를 모니터링합니다. 3) 작업 관리 : 일정 라이브러리를 사용하여 작업을 예약하십시오. Python의 사용 편의성과 풍부한 라이브러리 지원으로 인해 이러한 영역에서 선호하는 도구가됩니다.

See all articles