天天看點

Django 建立新App及其常用指令

建立新的項目

django-admin.py startproject my_project
           

建立新的App

# 在Django項目(my_project)的根目錄下執行

python3 manage.py startapp my_app
           

啟動Django中的開發伺服器

# make new migrations
python3 manage.py makemigrations
 
# apply all migrations
python3 manage.py migrate
 
# run server
python3 manage.py runserver
           

建立models

class App1(models.Model):
 
    title = models.CharField(max_length=100)
 
    category = models.CharField(max_length=50, blank=True)
 
    date_time = models.DateTimeField(auto_now_add=True)
 
    def __unicode__(self):
 
        return self.title
 
    class Meta:
 
        ordering = ['-date_time']

           

進入Django中的互動式shell

python3 manage.py shell
 
from app1.models import App1
 
# create(增加操作)
App1.objects.create(title='title',category='category1')
 
# all和get(檢視操作)
App1.objects.all()
App1.objects.get(id=1)
 
# update(修改操作)
demo = App1.objects.get(id=1)
demo.title
demo.title='title2'
 
# delete(删除操作)
demo.delete()

建立一個超級使用者

python3 manage.py createsuperuser
 
# 輸入http://127.0.0.1:8000/admin登入背景


資料庫資訊的增加和删除,admin.py中增加代碼

from article.models import App1
 
admin.site.register(App1)

           

Views和URL操作

# views.py
from django.http import HttpResponse
def home(request):
    return HttpResponse("Hello World, Django")
 
# urls.py
url(r'^$', 'app1.views.home')

           

URL傳參

# views.py
def detail(request, number):
    return HttpResponse("The number is %s." % number)
 
# urls.py
url(r'^([0-9]+)/', 'app1.views.detail', name='detail')
           

URL傳參查詢資料庫

# views.py
def database(request, args):
    post = App1.objects.all()[int(args)]
    str = ("title = %s, category = %s, date_time = %s" % (post.title, post.category, post.date_time))
    return HttpResponse(str)
 
# urls.py
url(r'^id/([0-9])+/', 'article.views.database', name='database'),

           

将代碼上傳到Github

# 在github中建立倉庫django-blog
# 在項目根目錄下執行
git init
git remote add Django
[email protected]:ybbz/django-blog.git
git add .
git status
git commit -m "django blog init"
git pull Django master && git push Django master
           

Error: That port is already in use.

ps aux | grep -i manage
kill -9 ****
python3 manage.py runserver