수색…


** 가장 간단한 CRUD 예 **

이러한 단계에 익숙하지 않은 경우 여기에서 시작하는 것이 좋습니다 . 이 단계는 Stack Overflow Documentation에서 제공됩니다.

django-admin startproject myproject
cd myproject
python manage.py startapp myapp

myproject / settings.py 앱 설치

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp',
]

myapp 디렉토리에 urls.py 라는 파일을 작성하고 다음보기로 갱신하십시오.

from django.conf.urls import url
from myapp import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
    ]

다른 urls.py 파일을 다음 내용으로 업데이트하십시오.

from django.conf.urls import url
from django.contrib import admin
from django.conf.urls import include 
from myapp import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^myapp/', include('myapp.urls')),
    url(r'^admin/', admin.site.urls),
]

myapp 디렉토리에 templates 라는 폴더를 작성하십시오. 그런 다음 templates 디렉토리 안에 index.html 파일을 만듭니다. 다음 내용으로 채 웁니다.

<!DOCTYPE html>
<html>
<head>
    <title>myapp</title>
</head>
<body>
    <h2>Simplest Crud Example</h2>
    <p>This shows a list of names and lets you Create, Update and Delete them.</p>
    <h3>Add a Name</h3>
    <button>Create</button>
</body>
</html>

또한 다음과 같이 views.py 파일을 편집하여 만들 수있는 index.html 을 보여주는보기가 필요합니다.

from django.shortcuts import render, redirect

# Create your views here.
def index(request):
    return render(request, 'index.html', {})

당신은 이제 당신이 일할 기지가 있습니다. 다음 단계는 모델을 만드는 것입니다. 이것은 가능한 가장 간단한 예제이므로 models.py 폴더에 다음 코드를 추가하십시오.

from __future__ import unicode_literals

from django.db import models

# Create your models here.
class Name(models.Model):
    name_value = models.CharField(max_length=100)

    def __str__(self): # if Python 2 use __unicode__
        return self.name_value

이것은 Name 객체의 모델을 생성합니다.이 객체는 명령 행에서 다음 명령으로 데이터베이스에 추가합니다.

python manage.py createsuperuser 
python manage.py makemigrations
python manage.py migrate

Django가 수행 한 작업을 볼 수 있습니다. 이것들은 테이블을 설정하고 Django powered admin view에서 관리 데이터베이스에 접근 할 수있는 수퍼 유저를 생성합니다. 말하자면 관리자보기로 새 모델을 등록 할 수 있습니다. admin.py로 이동하여 다음 코드를 추가하십시오.

from django.contrib import admin
from myapp.models import Name
# Register your models here.

admin.site.register(Name)

명령 행으로 돌아가서 이제 python manage.py runserver 명령으로 서버를 python manage.py runserver 있습니다. http : // localhost : 8000 / 을 방문하여 앱을 볼 수 있습니다. 그런 다음 http : // localhost : 8000 / admin으로 이동하여 프로젝트에 이름을 추가하십시오. 로그인하여 MYAPP 테이블 아래에 이름을 추가하십시오. 예를 들어 간단히 설명 했으므로 100 자 미만이되도록하십시오.

이름에 액세스하려면 어딘가에 표시해야합니다. views.py 내의 인덱스 함수를 편집하여 모든 Name 객체를 데이터베이스에서 가져옵니다.

from django.shortcuts import render, redirect
from myapp.models import Name

# Create your views here.
def index(request):
    names_from_db = Name.objects.all()
    context_dict = {'names_from_context': names_from_db}
    return render(request, 'index.html', context_dict)

이제 index.html 파일을 다음과 같이 편집하십시오.

<!DOCTYPE html>
<html>
<head>
    <title>myapp</title>
</head>
<body>
    <h2>Simplest Crud Example</h2>
    <p>This shows a list of names and lets you Create, Update and Delete them.</p>
    {% if names_from_context %}
        <ul>
            {% for name in names_from_context %}
                <li>{{ name.name_value }}  <button>Delete</button> <button>Update</button></li>
            {% endfor %}
        </ul>
    {% else %}
        <h3>Please go to the admin and add a Name under 'MYAPP'</h3>
    {% endif %}
    <h3>Add a Name</h3>
    <button>Create</button>
</body>
</html>

이는 CRUD에서의 읽기를 보여줍니다. myapp 디렉토리에서 forms.py 파일을 작성하십시오. 다음 코드를 추가하십시오.

from django import forms
from myapp.models import Name

class NameForm(forms.ModelForm):
    name_value = forms.CharField(max_length=100, help_text = "Enter a name")

    class Meta:
        model = Name
        fields = ('name_value',)

다음과 같은 방식으로 index.html 을 업데이트하십시오.

<!DOCTYPE html>
<html>
<head>
    <title>myapp</title>
</head>
<body>
    <h2>Simplest Crud Example</h2>
    <p>This shows a list of names and lets you Create, Update and Delete them.</p>
    {% if names_from_context %}
        <ul>
            {% for name in names_from_context %}
                <li>{{ name.name_value }}  <button>Delete</button> <button>Update</button></li>
            {% endfor %}
        </ul>
    {% else %}
        <h3>Please go to the admin and add a Name under 'MYAPP'</h3>
    {% endif %}
    <h3>Add a Name</h3>
    <form id="name_form" method="post" action="/">
        {% csrf_token %}
        {% for field in form.visible_fields %}
            {{ field.errors }}
            {{ field.help_text }}
            {{ field }}
        {% endfor %}
        <input type="submit" name="submit" value="Create">
    </form>
</body>
</html>

다음으로 다음과 같이 views.py 를 업데이트하십시오.

from django.shortcuts import render, redirect
from myapp.models import Name
from myapp.forms import NameForm

# Create your views here.
def index(request):
    names_from_db = Name.objects.all()

    form = NameForm()

    context_dict = {'names_from_context': names_from_db, 'form': form}

    if request.method == 'POST':
        form = NameForm(request.POST)

        if form.is_valid():
            form.save(commit=True)
            return render(request, 'index.html', context_dict)
        else:
            print(form.errors)    

    return render(request, 'index.html', context_dict)

서버를 다시 시작하면 C에서 작성된 C가있는 응용 프로그램의 작동중인 버전을 갖게됩니다.

할일 업데이트 및 삭제 추가



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow