>  기사  >  백엔드 개발  >  Django 책 문자 적응 시스템을 Python으로 구현하는 방법(프론트엔드)

Django 책 문자 적응 시스템을 Python으로 구현하는 방법(프론트엔드)

不言
不言앞으로
2018-11-15 15:23:372532검색

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

Django에 라우팅 추가

Flask와 마찬가지로 django도 라우팅을 사용하여 서버 측에서 실행될 코드와 URL을 연결해야 합니다. .

둘의 공통점은 일반 기능을 보기 기능으로 바꿀 수 있다는 것입니다. 차이점은 플라스크는 데코레이터 @app.route()를 사용하여 경로를 정의하는 반면, django는 정규식을 사용하여 경로를 정의한다는 것입니다.

작업: 우리가 만든 책 프로젝트에 새 urls.py 파일을 만듭니다.

#FristDjango\book\urls.py
from django.conf.urls import url
from django.contrib import admin
from book.views import index,detail
urlpatterns = [
    url(r'^$',index),   #http://127.0.0.1:9099/
    url(r'book/(?P<id>\d+)/$',detail)   #http://127.0.0.1:9099/book/1/
]</id>

메인 프로젝트의 settings.py 파일을 수정합니다. #🎜🎜 #

from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'',include('book.urls'))    

]
보기 기능은 마음대로 작성할 수 있지만 이제는 테스트에만 사용됩니다.

#FristDjango\book\views.py
from django.http import HttpResponse
from django.shortcuts import render

# Create your views here.
def index(request): #django不同于flask,flask默认请求方式是request,而django里面的请求对象必须作为参数接收
    return  HttpResponse('ok')

def detail(request,id):
    return HttpResponse('%s is ok' %(id))

Django 책 문자 적응 시스템을 Python으로 구현하는 방법(프론트엔드)

^는 URL 경로의 시작과 일치하고, $는 URL 경로의 끝과 일치합니다. 중간에 아무것도 없습니다. 이는 이 정규 일치 항목이 루트 디렉터리 '/'임을 나타냅니다.

간단한 웹페이지 구조

웹페이지는 테스트를 거쳐 사용 가능합니다. 이제 자신만의 html 파일을 사용하여 자신만의 프로젝트를 구현해 보세요

우리의 웹 템플릿 파일은 메인 프로젝트의 template/ 디렉터리에 있는 애플리케이션 파일에 위치합니다. 여러 개의 애플리케이션이 있을 수 있으므로 이를 구별하기 위해 서로 다른 디렉터리가 생성됩니다. .
데이터베이스와의 통합이 필요하며 백그라운드에서 관리되는 데이터베이스 정보가 포그라운드에 표시되어야 함, 보기 기능을 다시 작성해야 함

#FristDjango\book\views.py
from django.http import HttpResponse
from django.shortcuts import render

# Create your views here.
from book.models import BookInfo,HeroInfo


def index(request): #django不同于flask,flask默认请求方式是request,而django里面的请求对象必须作为参数接收
    # return  HttpResponse('ok')
    books = BookInfo.objects.all()
    return render(request,'book/index_old.html',context={
        'books':books,
    })
def detail(request,id):
    # return HttpResponse('%s is ok' %(id))
    book = BookInfo.objects.get(id=id)
    heros = book.heroinfo_set.all()
    return render(request,'book/detail_old.html',context={
        'book':book,
        'heros':heros
    })
홈페이지에 표시되는 HTML 페이지

# templates/book/index_old.html
nbsp;html>


    <meta>
    <title>主页</title>


    {% for book in books %}     
  •     

    {{ book.btitle }}

            

    {{ book.bpub_time }}

        

    {{ book.bcontent }}

        
  • {% endfor %}
도서 세부정보 페이지에 표시되는 HTML 페이지

# templates/book/detail_old.html
nbsp;html>


    <meta>
    <title>{{ book.btitle}}详情页</title>


    <h1>{{ book.btitle }}</h1>
        {% for hero in heros %}     

    {{ hero.hname }}

            

    {{ hero.hcontent }}

        {% endfor %}

Django 책 문자 적응 시스템을 Python으로 구현하는 방법(프론트엔드)

페이지를 더 보기 좋게 만드는 방법# 🎜🎜#step1: 책 정보가 너무 적습니다. 책 데이터베이스 테이블 구조를 수정하고 책 초록과 책 사진을 추가합니다.

step2: 수정하기 위해 인터넷에서 보기 좋은 페이지 파일을 찾습니다. #🎜 🎜#
注意:静态文件(CSS,JS,IMG)单独存放一个目录static/
样式文件的目录需要修改,主项目settings.py文件修改Static files

step1 작업: 책/모델을 수정합니다. py 파일의 BookInfo 테이블 구조에 요약과 그림을 추가합니다. 업로드된 이미지를 저장할 새 static/uploads/ 디렉터리를 만듭니다.

    bcontent = models.TextField(default='摘要', verbose_name='书籍摘要')
    bimg = models.ImageField(default=None, upload_to='static/uploads/')
터미널 실행 데이터베이스 마이그레이션 명령

python manage.py makemigrations
python manage.py migrate
관리자 권한으로 백그라운드에 로그인하여 도서 내용 수정

step2 작업: 생성 후 static/디렉토리를 수정하고 기본 프로젝트 settings.py 파일

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

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]
참고: 홈페이지와 세부정보 페이지에 반복되는 코드가 많이 있습니다. 기본 템플릿을 만들고 애플리케이션 템플릿이 코드 중복을 줄이기 위한 기본 클래스입니다.

마지막으로 수정된 웹페이지는 사진에 나와 있습니다:


Django 책 문자 적응 시스템을 Python으로 구현하는 방법(프론트엔드)

프로젝트 프레임워크 다이어그램:

#🎜 🎜#Django 책 문자 적응 시스템을 Python으로 구현하는 방법(프론트엔드)

Django 책 문자 적응 시스템을 Python으로 구현하는 방법(프론트엔드)

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

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제