Django開發——003程式碼編寫

網際網路老羊頭發表於2020-12-24

#建立url檢視,檢視檢視。
HelloWorld/HelloWorld/urls.py: 檔案程式碼:
from django.conf.urls import *
from . import view,testdb
 
urlpatterns = [
    url(r'^hello$', view.hello),
    url(r'^testdb$', testdb.testdb),
]


#建立應用,建立應用blog    , 遊戲新聞,遊戲論壇,blog,線上商城。
python manage.py startapp TestModel 
    #新增應用
    HelloWorld/settings.py >> INSTALLLED_APP
    #應用目錄詳解:
        views.py    使用者請求返回html頁面
        models.py     定義資料庫中的表
        admin.py    admin相關
        test.py        測試相關
      

HelloWorld/TestModel/models.py: 檔案程式碼:
from django.db import models
 
class Test(models.Model):
    name = models.CharField(max_length=20)
    
$ python manage.py migrate   # 建立表結構
$ python manage.py makemigrations TestModel  # 讓 Django 知道我們在我們的模型有一些變更
$ python manage.py migrate TestModel   # 建立表結構

#為了讓 admin 介面管理該資料模型,先註冊該資料模型到 admin。
HelloWorld/TestModel/admin.py
    from django.contrib import admin
    from TestModel.models import Test
        # Register your models here.
        admin.site.register(Test)


#修改成複雜模型,修改model
HelloWorld/TestModel/models.py
    from django.db import models
     
    # Create your models here.
    class Test(models.Model):
        name = models.CharField(max_length=20)
     
    class Contact(models.Model):
        name   = models.CharField(max_length=200)
        age    = models.IntegerField(default=0)
        email  = models.EmailField()
        def __unicode__(self):
            return self.name
     
    class Tag(models.Model):
        contact = models.ForeignKey(Contact)
        name    = models.CharField(max_length=50)
        def __unicode__(self):
            return self.name

#註冊
HelloWorld/TestModel/admin.py
    from django.contrib import admin
    from TestModel.models import Test,Contact,Tag
     
    # Register your models here.
    admin.site.register([Test, Contact, Tag])


#!/bin/bash

http://192.168.50.136:8000/search-form
http://192.168.50.136:8000/search-post

/HelloWorld/HelloWorld/search.py 檔案程式碼:
# -*- coding: utf-8 -*-
 
from django.http import HttpResponse
from django.shortcuts import render_to_response
 
# 表單
def search_form(request):
    return render_to_response('search_form.html')
 
# 接收請求資料
def search(request):  
    request.encoding='utf-8'
    if 'q' in request.GET:
        message = '你搜尋的內容為: ' + request.GET['q']
    else:
        message = '你提交了空表單'
    return HttpResponse(message)
    
    
    
/HelloWorld/templates/search_form.html 檔案程式碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</title>
</head>
<body>
    <form action="/search" method="get">
        <input type="text" name="q">
        <input type="submit" value="搜尋">
    </form>
</body>
</html>

相關文章