이 기사의 내용은 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))
^는 URL 경로의 시작과 일치하고, $는 URL 경로의 끝과 일치합니다. 중간에 아무것도 없습니다. 이는 이 정규 일치 항목이 루트 디렉터리 '/'임을 나타냅니다.
간단한 웹페이지 구조
우리의 웹 템플릿 파일은 메인 프로젝트의 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>
{{ book.bpub_time }}
{{ book.bcontent }}
# templates/book/detail_old.html nbsp;html> <meta> <title>{{ book.btitle}}详情页</title> <h1>{{ book.btitle }}</h1>
{{ hero.hcontent }}
{% endfor %}페이지를 더 보기 좋게 만드는 방법# 🎜🎜#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으로 구현하는 방법(프론트엔드)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!