이 기사의 내용은 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/에 접속해 보면 성공 페이지를 볼 수 있지만 아직 앱이 실제로 실행되지는 않았습니다
언어 및 시간대를 수정하세요(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 그룹에 속해 있으며 직원 상태를 확인합니다(사용자가 이 관리 사이트에 로그인할 수 있는지 표시).
일반 사용자로 백엔드 관리에 로그인하면 그룹 추가 옵션만 표시됩니다.
나만의 애플리케이션(앱) 만들기 -- 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, 이름, 성별, 소개, 도서 소속.
마지막으로 테이블 간의 관계를 결정합니다. 책에 여러 문자가 있고, 문자 데이터베이스 테이블에 외래 키를 씁니다.
# 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 파일 형식 사용 DatabaseDjango 기본적으로 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)
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)
북 테이블에 직접 문자 추가하는 방법, 웹 페이지 표시 효과: 도서 상세 페이지로 점프하면 바로 문자 추가 가능
# book/admin.py class HeroInline(admin.TabularInline): model = HeroInfo extra = 2 #每次增加两个添加人物的表单 class BookInfoAdmin(admin.ModelAdmin): list_display = ['btitle','bpub_time'] inlines = [HeroInline]
위 내용은 Python에서 Django 책 문자 적응 시스템 구현 방법(백엔드)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Python은 배우고 사용하기 쉽고 C는 더 강력하지만 복잡합니다. 1. Python Syntax는 간결하며 초보자에게 적합합니다. 동적 타이핑 및 자동 메모리 관리를 사용하면 사용하기 쉽지만 런타임 오류가 발생할 수 있습니다. 2.C는 고성능 응용 프로그램에 적합한 저수준 제어 및 고급 기능을 제공하지만 학습 임계 값이 높고 수동 메모리 및 유형 안전 관리가 필요합니다.

Python과 C는 메모리 관리 및 제어에 상당한 차이가 있습니다. 1. Python은 참조 계산 및 쓰레기 수집을 기반으로 자동 메모리 관리를 사용하여 프로그래머의 작업을 단순화합니다. 2.C는 메모리 수동 관리가 필요하므로 더 많은 제어를 제공하지만 복잡성과 오류 위험을 증가시킵니다. 선택할 언어는 프로젝트 요구 사항 및 팀 기술 스택을 기반으로해야합니다.

과학 컴퓨팅에서 Python의 응용 프로그램에는 데이터 분석, 머신 러닝, 수치 시뮬레이션 및 시각화가 포함됩니다. 1.numpy는 효율적인 다차원 배열 및 수학적 함수를 제공합니다. 2. Scipy는 Numpy 기능을 확장하고 최적화 및 선형 대수 도구를 제공합니다. 3. 팬더는 데이터 처리 및 분석에 사용됩니다. 4. matplotlib는 다양한 그래프와 시각적 결과를 생성하는 데 사용됩니다.

Python 또는 C를 선택할 것인지 프로젝트 요구 사항에 따라 다릅니다. 1) Python은 간결한 구문 및 풍부한 라이브러리로 인해 빠른 개발, 데이터 과학 및 스크립팅에 적합합니다. 2) C는 컴파일 및 수동 메모리 관리로 인해 시스템 프로그래밍 및 게임 개발과 같은 고성능 및 기본 제어가 필요한 시나리오에 적합합니다.

Python은 데이터 과학 및 기계 학습에 널리 사용되며 주로 단순성과 강력한 라이브러리 생태계에 의존합니다. 1) 팬더는 데이터 처리 및 분석에 사용되며, 2) Numpy는 효율적인 수치 계산을 제공하며 3) Scikit-Learn은 기계 학습 모델 구성 및 최적화에 사용되며 이러한 라이브러리는 Python을 데이터 과학 및 기계 학습에 이상적인 도구로 만듭니다.

하루에 2 시간 동안 파이썬을 배우는 것으로 충분합니까? 목표와 학습 방법에 따라 다릅니다. 1) 명확한 학습 계획을 개발, 2) 적절한 학습 자원 및 방법을 선택하고 3) 실습 연습 및 검토 및 통합 연습 및 검토 및 통합,이 기간 동안 Python의 기본 지식과 고급 기능을 점차적으로 마스터 할 수 있습니다.

웹 개발에서 Python의 주요 응용 프로그램에는 Django 및 Flask 프레임 워크 사용, API 개발, 데이터 분석 및 시각화, 머신 러닝 및 AI 및 성능 최적화가 포함됩니다. 1. Django 및 Flask 프레임 워크 : Django는 복잡한 응용 분야의 빠른 개발에 적합하며 플라스크는 소형 또는 고도로 맞춤형 프로젝트에 적합합니다. 2. API 개발 : Flask 또는 DjangorestFramework를 사용하여 RESTFULAPI를 구축하십시오. 3. 데이터 분석 및 시각화 : Python을 사용하여 데이터를 처리하고 웹 인터페이스를 통해 표시합니다. 4. 머신 러닝 및 AI : 파이썬은 지능형 웹 애플리케이션을 구축하는 데 사용됩니다. 5. 성능 최적화 : 비동기 프로그래밍, 캐싱 및 코드를 통해 최적화

Python은 개발 효율에서 C보다 낫지 만 C는 실행 성능이 높습니다. 1. Python의 간결한 구문 및 풍부한 라이브러리는 개발 효율성을 향상시킵니다. 2.C의 컴파일 유형 특성 및 하드웨어 제어는 실행 성능을 향상시킵니다. 선택할 때는 프로젝트 요구에 따라 개발 속도 및 실행 효율성을 평가해야합니다.


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

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

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경
