등록과 출판사
django의 기능이 매우 많기 때문에 출판사는 일부 기능을 사용할 수 있다. 가장 빠르고 가장 간단하게 django의 운영 모델을 이해하고 각 점의 후속적인 세분화를 통해 정리할 수 있다.
django의 경로
django의 보기
템플릿
django의 ORM.
django의 쿠키와session
django의 중간부품
django의 aax
django의form 구성 요소
django의auth
2.django의 전역 프로필 setting.py
BASE_DIR # 프로젝트 폴더, 시스템의 절대 경로
DRBUG # 디버그 켜기, 켜기 및 끄기
ALLOWED_HOST # 액세스 가능한 세그먼트
INSTALLED_APPS # 등록 app, 프로젝트
MIDDLEWARE # 미들웨어
ROOT_URLCONF# 루트 파일 위치
TEMPLATES #html 템플릿을 저장하는 경로
DATABASES # 데이터베이스 디렉토리
STSTIC_URL # 각 app에서 정적 파일을 저장할 디렉토리
STATICFILES_DIRS # 프로젝트 공통 정적 자원 저장 경로
LANGUAGE_CODE # 언어
TIME_존#시간대
3. 랜딩 페이지
1) URL 점프views 함수 설계
2)views 함수 디자인 업무 논리, 요청에 따라 템플릿 페이지로 돌아가기
3) 템플릿 페이지에서views 함수의 데이터를 받아들일 수 있음
####urls.py
url(r'^app01/', include('app01.urls',namespace='app01'))
####views.py
def login(request):
err_msg = ''
if request.method == 'POST':
user = request.POST.get('username')
passwd = request.POST.get('password')
print(user, passwd)
if user == 'qgw' and passwd == '123':
return render(request, 'cbs.html')
err_msg = ' '
return render(request, 'login.html', {'err_msg': err_msg})
####login.html cbs.html
jquery
4.출판사
1) 설계표 orm 대상 관계 관리 모델
2) 디자인 URL은 조회, 추가, 삭제, 수정 작업을 포함한다.
3) 보기 함수 URL에 대한 접근 실행
4) 템플릿 디자인은 공통 템플릿을 사용하고 데이터를 통해 템플릿 내용을 수정한다
####models.py####
class presslist(models.Model):
name = models.CharField(max_length=32)
####url.py#### url
url(r'^press/list', views.presslist),
url(r'^press/del', views.pressdel),
url(r'^press/add', views.pressadd),
url(r'^press/edit/', views.pressedit),
####views.py####
from django.shortcuts import render, redirect
from app1 import models
# Create your views here.
def login(request):
err_msg = ''
if request.method == 'POST':
user = request.POST.get('username')
passwd = request.POST.get('password')
if models.login.objects.filter(password=passwd, name=user):
return render(request, 'cbs.html')
err_msg = ' '
return render(request, 'login.html', {'err_msg': err_msg})
def presslist(request):
msg_all = models.presslist.objects.all()
return render(request, 'cbs.html', {'msg': msg_all})
def pressadd(request):
if request.method == 'POST':
press_name = request.POST.get('pressname')
models.presslist.objects.create(name=press_name)
return redirect('/press/list')
return render(request, 'cbsadd-edit.html')
def pressdel(request):
del_id = request.GET.get('id')
print(del_id)
models.presslist.objects.get(pk=del_id).delete()
return redirect('/press/list')
def pressedit(request):
edit_id = request.GET.get('id')
obj = models.presslist.objects.get(pk=edit_id)
msg = ''
if request.method == 'POST':
obj.name = request.POST.get('pressname')
if models.presslist.objects.filter(name=obj.name):
msg = ' '
if not obj.name:
msg = ' '
if not models.presslist.objects.filter(name=obj.name) and obj.name:
obj.save()
return redirect('/press/list')
return render(request, 'cbsadd-edit.html', {'obj': obj, 'msg': msg})
####tempalte ####
base.html , bootstrap
####tempalte/cbs.html
{% extends 'base.html' %}
{% block body1 %}
{% for obj in msg%} {% endfor%} ID출판사 이름 조작 {{obj.pk} {{obj.name}     {% endblock%}####tempalte/cbsadd-edit
{% extends 'base.html' %}
{% block body1 %}
{{msg} 제출 {% endblock%}이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.