1

HTML5を使用して、いくつかの基本的なジオロケーションに慎重に取り組んでいます。私は現在、緯度と経度の座標用のスペースがある最初のDjangoアプリケーションのメタフォームを持っており、Google Maps API(非常に単純なもの)を使用してそれらの座標を取得するための適切なコードを見つけました。

次のステップ:ユーザーがアプリケーションにアクセスしたときに、これらの座標をメタフォームに自動的に挿入します。このアプリケーションは、理想的には、ユーザーが投稿を作成し、将来の参照とフィルタリングのために座標を保存できるようにします(その部分は大きな努力であり、一度に1ステップずつ)。

この方法でDjangoでJavaScript(私はほとんど知りません)を使用することは、これを達成するための最も効率的な方法のようであり、これを行うための簡単な方法があるかどうかを調べていました。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',)
4

1 に答える 1

1

Django は通常、RESTfulアプリを対象としているため、既存のすべてのオブジェクトには、編集する独自の URL が必要です (それが AJAX であっても)。/obj/123/edit/したがって、適切な URL は、既存のオブジェクトを編集する場合と新しいオブジェクトを作成する場合のようになります/obj/create/ 。実際、完全な REST では、すべての CRUD アクティビティにごく少数の URL を使用できますが、これでも十分です。したがって、URL にオブジェクト ID があり、フォームでそれを複製する必要はありません。

または、非表示の入力を常にフォームに表示value="{{ form.instance.pk }}"し、ビューで手動で処理することもできます。

于 2012-05-23T03:01:51.533 に答える