2012-05-22 55 views
1

我在使用HTML5進行一些基本地理位置的仔細研究。我目前有一個用於我的第一個Django應用程序的元表單,它具有經緯度座標空間,並且已經找到了使用Google Maps API獲取這些座標的正確代碼(非常簡單)。將地理座標插入到Django Meta表格字段中

下一步:當用戶訪問應用程序時,將這些座標自動插入到元表單中。理想情況下,應用程序允許用戶發佈帖子並存儲它們的座標以供將來參考和過濾(這一部分是大的努力;一次一步)。

以這種方式使用JavaScript(我知道的很少)與Django似乎是最有效的方式來實現這一點,並期待看看是否有一個簡單的方法來做到這一點。我發現了一些方法可以實現這一點,可以使用jQuery,但與元形式自動設置窗體的結構似乎並不像一個簡單的方法來添加一個「ID」的形式(研究,但不能似乎找到了一種手段)。

任何洞察力或經驗,可以分享將不勝感激。

Model: 
    class Story(models.Model): 
     objects = StoryManager() 
     title = models.CharField(max_length=100) 
     topic = models.CharField(max_length=50) 
     copy = models.TextField() 
     author = models.ForeignKey(User, related_name="stories") 
     zip_code = models.CharField(max_length=10) 
     latitude = models.FloatField(blank=False, null=False) 
     longitude = models.FloatField(blank=False, null=False) 
     date = models.DateTimeField(auto_now=True, auto_now_add=True) 
     pic = models.ImageField(upload_to='pictures', blank=True) 
     caption = models.CharField(max_length=100, blank=True) 

     def __unicode__(self): 
      return " %s" % (self.title) 

Form: 

class StoryForm(forms.ModelForm): 
    class Meta: 
     model = Story 
     exclude = ('author',) 
+0

你能分享你當前的表單定義嗎? – monkut

回答

1

Django的通常是指對RESTful應用,使現有的每個對象都應該有自己的網址進行編輯(即使是AJAX)。如此良好的URL看起來像/obj/123/edit/用於編輯現有對象,而/obj/create/用於創建新對象。實際上,在完美的REST中,您可以爲所有CRUD活動使用很少的URL,但這也足夠好。所以你的URL中有對象ID,不需要在表單中複製它。

或者您可以在窗體中始終顯示一個隱藏的輸入,並且在視圖中手動處理它。