คำถามติดแท็ก django

Django เป็นเว็บแอปพลิเคชันเฟรมเวิร์กฝั่งเซิร์ฟเวอร์แบบโอเพนซอร์ซเขียนด้วย Python มันถูกออกแบบมาเพื่อลดความพยายามที่จำเป็นในการสร้างเว็บไซต์และแอปพลิเคชั่นที่ขับเคลื่อนด้วยข้อมูลที่ซับซ้อนโดยให้ความสำคัญเป็นพิเศษกับรหัสที่น้อยลงไม่มีความซ้ำซ้อนและชัดเจนกว่าโดยปริยาย

11
วิธีลดความซับซ้อนในการโยกย้ายใน Django 1.7
มีคำถามที่คล้ายกันสำหรับ South อยู่แล้ว แต่ฉันได้เริ่มโครงการกับ Django 1.7 แล้วและฉันไม่ได้ใช้ South ในระหว่างการพัฒนามีการสร้างการย้ายข้อมูลจำนวนมากขึ้นอย่างไรก็ตามซอฟต์แวร์ยังไม่ได้รับการคัดลอกและไม่มีฐานข้อมูลที่ต้องย้าย ดังนั้นฉันจึงต้องการรีเซ็ตการย้ายข้อมูลราวกับว่าโมเดลปัจจุบันของฉันเป็นโมเดลดั้งเดิมและสร้างฐานข้อมูลทั้งหมดขึ้นมาใหม่ วิธีที่แนะนำคืออะไร? แก้ไข: ตั้งแต่ Django 1.8 มีคำสั่งใหม่ชื่อsquashmigrationsซึ่งช่วยแก้ปัญหาที่อธิบายไว้ที่นี่ได้มากหรือน้อย

5
จะตั้งค่าโครงการ Django ด้วย django-storages และ Amazon S3 ได้อย่างไร แต่มีโฟลเดอร์ต่างกันสำหรับไฟล์คงที่และไฟล์มีเดีย
ฉันกำลังกำหนดค่าโครงการ Django ที่ใช้ระบบไฟล์เซิร์ฟเวอร์เพื่อจัดเก็บไฟล์คงที่ของแอป ( STATIC_ROOT) และไฟล์ที่ผู้ใช้อัปโหลด ( MEDIA_ROOT) ตอนนี้ฉันต้องการโฮสต์เนื้อหาทั้งหมดใน S3 ของ Amazon ดังนั้นฉันจึงสร้างที่เก็บข้อมูลสำหรับสิ่งนี้ เมื่อใช้django-storagesกับbotoแบ็กเอนด์ที่เก็บข้อมูลฉันจัดการเพื่ออัปโหลดสถิติที่รวบรวมไปยังที่เก็บ S3: MEDIA_ROOT = '/media/' STATIC_ROOT = '/static/' DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage' AWS_ACCESS_KEY_ID = 'KEY_ID...' AWS_SECRET_ACCESS_KEY = 'ACCESS_KEY...' AWS_STORAGE_BUCKET_NAME = 'bucket-name' STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage' จากนั้นฉันพบปัญหา: MEDIA_ROOTและSTATIC_ROOTไม่ได้ใช้ภายในที่เก็บข้อมูลดังนั้นที่เก็บข้อมูลรูทจึงมีทั้งไฟล์คงที่และเส้นทางที่ผู้ใช้อัปโหลด ดังนั้นฉันจึงสามารถตั้งค่า: S3_URL = 'http://s3.amazonaws.com/%s' % AWS_STORAGE_BUCKET_NAME STATIC_URL = S3_URL + STATIC_ROOT MEDIA_URL …

4
ค่าเริ่มต้นของฟิลด์โมเดล Django อิงจากฟิลด์อื่นในโมเดลเดียวกัน
ฉันมีแบบจำลองที่ฉันต้องการมีชื่อวิชาและชื่อย่อของพวกเขา (ข้อมูลเขาค่อนข้างไม่ระบุตัวตนและติดตามด้วยชื่อย่อ) ตอนนี้ฉันเขียน class Subject(models.Model): name = models.CharField("Name", max_length=30) def subject_initials(self): return ''.join(map(lambda x: '' if len(x)==0 else x[0], self.name.split(' '))) # Next line is what I want to do (or something equivalent), but doesn't work with # NameError: name 'self' is not defined subject_init = models.CharField("Subject Initials", max_length=5, default=self.subject_initials) …

2
อัปเดตเฉพาะฟิลด์ที่ระบุในโมเดลเท่านั้น
ฉันมีแบบจำลอง class Survey(models.Model): created_by = models.ForeignKey(User) question = models.CharField(max_length=150) active = models.NullBooleanField() def __unicode__(self): return self.question และตอนนี้ฉันต้องการอัปเดตเฉพาะactiveฟิลด์ ดังนั้นฉันจึงทำสิ่งนี้: survey = get_object_or_404(Survey, created_by=request.user, pk=question_id) survey.active = True survey.save(["active"]) IntegrityError: PRIMARY KEY must be uniqueตอนนี้ผมได้รับข้อผิดพลาด ฉันใช้วิธีนี้ในการอัปเดตหรือไม่

10
การรับ TypeError: __init __ () ขาดอาร์กิวเมนต์ตำแหน่งที่ต้องการ 1 รายการ: 'on_delete' เมื่อพยายามเพิ่มตารางหลักหลังตารางลูกด้วยรายการ
ฉันมีสองชั้นเรียนในฐานข้อมูล SQLite ของฉันตารางผู้ปกครองที่มีชื่อและตารางเด็กที่เรียกว่าCategorie Articleฉันสร้างคลาสตารางลูกก่อนแล้วเพิ่มรายการ ก่อนอื่นฉันมีสิ่งนี้: class Article(models.Model): titre=models.CharField(max_length=100) auteur=models.CharField(max_length=42) contenu=models.TextField(null=True) date=models.DateTimeField( auto_now_add=True, auto_now=False, verbose_name="Date de parution" ) def __str__(self): return self.titre และหลังจากที่ฉันเพิ่มตารางหลักแล้วตอนนี้models.pyหน้าตาของฉันก็เป็นแบบนี้ from django.db import models # Create your models here. class Categorie(models.Model): nom = models.CharField(max_length=30) def __str__(self): return self.nom class Article(models.Model): titre=models.CharField(max_length=100) auteur=models.CharField(max_length=42) contenu=models.TextField(null=True) date=models.DateTimeField( auto_now_add=True, auto_now=False, verbose_name="Date de …

1
ผู้ดูแลระบบ Django ข้อผิดพลาด ManyToMany อินไลน์“ ไม่มี ForeignKey ถึง”
ฉันกำลังตั้งค่าผู้ดูแลระบบ Django เป็นรุ่นต่อไปนี้: class Quote(models.Model): author = models.CharField(max_length=100) quote = models.CharField(max_length=1000) tags = models.ManyToManyField('Tag') class Tag(models.Model): name = models.CharField(max_length=100) ด้วยรหัสต่อไปนี้: class TagInline(admin.TabularInline): model = Tag class QuoteAdmin(admin.ModelAdmin): list_display = ('author', 'quote') inlines = (TagInline,) class TagAdmin(admin.ModelAdmin): pass admin.site.register(Quote, QuoteAdmin) admin.site.register(Tag, TagAdmin) เมื่อพยายามที่จะดูหน้าผู้ดูแลระบบเพื่อเพิ่มการแสดงหน้าข้อผิดพลาดว่าQuote <class 'quotes.models.Tag'> has no ForeignKey to <class 'quotes.models.Quote'>สิ่งนี้ไม่เกิดขึ้นก่อนที่ฉันจะเพิ่มอินไลน์ …

6
การใช้ UUID เป็นคีย์หลักในโมเดล Django (ผลกระทบของความสัมพันธ์ทั่วไป)
ด้วยเหตุผลหลายประการ ^ ฉันต้องการใช้ UUID เป็นคีย์หลักใน Django บางรุ่นของฉัน หากฉันทำเช่นนั้นฉันจะยังสามารถใช้แอปภายนอกเช่น "Contrib.comments", "django-vote" หรือ "django-tagging" ซึ่งใช้ความสัมพันธ์ทั่วไปผ่าน ContentType ได้หรือไม่ การใช้ "django-vote" เป็นตัวอย่างรูปแบบการโหวตจะมีลักษณะดังนี้: class Vote(models.Model): user = models.ForeignKey(User) content_type = models.ForeignKey(ContentType) object_id = models.PositiveIntegerField() object = generic.GenericForeignKey('content_type', 'object_id') vote = models.SmallIntegerField(choices=SCORES) ดูเหมือนว่าแอปนี้จะสมมติว่าคีย์หลักสำหรับโมเดลที่โหวตเป็นจำนวนเต็ม ดูเหมือนว่าแอปความคิดเห็นในตัวจะสามารถจัดการ PK ที่ไม่ใช่จำนวนเต็มได้แม้ว่า: class BaseCommentAbstractModel(models.Model): content_type = models.ForeignKey(ContentType, verbose_name=_('content type'), related_name="content_type_set_for_%(class)s") object_pk = …

8
django admin ทำให้ฟิลด์เป็นแบบอ่านอย่างเดียวเมื่อแก้ไข obj แต่จำเป็นเมื่อเพิ่ม obj ใหม่
ในผู้ดูแลระบบฉันต้องการปิดการใช้งานฟิลด์เมื่อแก้ไขอ็อบเจ็กต์ แต่ทำให้จำเป็นเมื่อเพิ่มอ็อบเจกต์ใหม่ django จะไปเกี่ยวกับเรื่องนี้อย่างไร?

11
จะรีโหลดโมดูลใน django shell ได้อย่างไร?
ฉันทำงานกับ Django และใช้ Django shell ตลอดเวลา ส่วนที่น่ารำคาญคือในขณะที่เซิร์ฟเวอร์ Django รีโหลดเมื่อมีการเปลี่ยนแปลงโค้ด แต่เชลล์ไม่ทำดังนั้นทุกครั้งที่ฉันทำการเปลี่ยนแปลงวิธีที่ฉันกำลังทดสอบฉันต้องออกจากเชลล์และรีสตาร์ทนำเข้าโมดูลทั้งหมดที่ฉัน จำเป็นต้องเริ่มต้นตัวแปรทั้งหมดที่ฉันต้องการเป็นต้นแม้ว่าประวัติของ iPython จะบันทึกการพิมพ์จำนวนมาก แต่ก็ยังคงเป็นความเจ็บปวด มีวิธีทำให้ django shell reload อัตโนมัติแบบเดียวกับที่ django development server ทำหรือไม่? ฉันรู้เกี่ยวกับการโหลดซ้ำ () แต่ฉันนำเข้าโมเดลจำนวนมากและโดยทั่วไปใช้from app.models import *ไวยากรณ์ดังนั้นการโหลดซ้ำ () จึงไม่ช่วยได้มากนัก
92 python  django  ipython 

8
สร้างวัตถุแบบจำลองจำนวนมากใน django
ฉันมีวัตถุมากมายที่ต้องบันทึกในฐานข้อมูลดังนั้นฉันจึงต้องการสร้างอินสแตนซ์ Model ด้วยสิ่งนั้น ด้วย django ฉันสามารถสร้างอินสแตนซ์โมเดลทั้งหมดด้วยMyModel(data)แล้วฉันต้องการบันทึกทั้งหมด ตอนนี้ฉันมีบางอย่างเช่นนั้น: for item in items: object = MyModel(name=item.name) object.save() ฉันสงสัยว่าฉันสามารถบันทึกรายการวัตถุได้โดยตรงหรือไม่เช่น: objects = [] for item in items: objects.append(MyModel(name=item.name)) objects.save_all() จะบันทึกวัตถุทั้งหมดในธุรกรรมเดียวได้อย่างไร?

10
ทดสอบการส่งอีเมลใน Django [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน8 เดือนที่ผ่านมา ปรับปรุงคำถามนี้ ฉันต้องการทดสอบว่าแอปพลิเคชัน Django ของฉันส่งอีเมลพร้อมเนื้อหาที่ถูกต้องหรือไม่ ฉันไม่ต้องการพึ่งพาระบบภายนอก (เช่นบัญชีgmailเฉพาะกิจ) เนื่องจากฉันไม่ได้ทดสอบบริการอีเมลจริง ... ฉันอาจต้องการเก็บอีเมลไว้ในเครื่องภายในโฟลเดอร์ที่ส่งไป มีเคล็ดลับอย่างไรในการบรรลุเป้าหมาย


14
Django รู้คำสั่งในการสร้างฟิลด์แบบฟอร์มได้อย่างไร
หากฉันมีรูปแบบ Django เช่น: class ContactForm(forms.Form): subject = forms.CharField(max_length=100) message = forms.CharField() sender = forms.EmailField() และฉันเรียกวิธี as_table () ของอินสแตนซ์ของแบบฟอร์มนี้ Django จะแสดงผลฟิลด์ตามลำดับเดียวกันกับที่ระบุไว้ข้างต้น คำถามของฉันคือ Django รู้ลำดับที่ตัวแปรคลาสที่กำหนดไว้ได้อย่างไร (ฉันจะแทนที่คำสั่งนี้ได้อย่างไรเช่นเมื่อฉันต้องการเพิ่มฟิลด์จากวิธีการเริ่มต้นของ classe )

4
Django เทียบเท่าสำหรับการนับและจัดกลุ่มตาม
ฉันมีโมเดลที่มีลักษณะดังนี้: class Category(models.Model): name = models.CharField(max_length=60) class Item(models.Model): name = models.CharField(max_length=60) category = models.ForeignKey(Category) ฉันต้องการเลือกจำนวน (เฉพาะจำนวน) ของรายการสำหรับแต่ละหมวดหมู่ดังนั้นใน SQL จะง่ายดังนี้: select category_id, count(id) from item group by category_id มีวิธีเทียบเท่ากับการทำ "ทาง Django" หรือไม่? หรือ SQL ธรรมดาเป็นตัวเลือกเดียว? ฉันคุ้นเคยกับวิธีการcount ()ใน Django แต่ฉันไม่เห็นว่ากลุ่มตามจะเหมาะสมกับที่นั่นอย่างไร
91 python  django 

10
เส้นทางที่ Django ใช้ในการค้นหาและโหลดเทมเพลตคืออะไร?
ฉันกำลังติดตามบทช่วยสอนนี้เกี่ยวกับสภาพแวดล้อม Windows 7 ไฟล์การตั้งค่าของฉันมีคำจำกัดความนี้: TEMPLATE_DIRS = ( 'C:/django-project/myapp/mytemplates/admin' ) ผมได้base_templateจากแม่แบบadmin/base_site.htmlจากภายในเริ่มต้น Django ไดเรกทอรีผู้ดูแลระบบแม่แบบในซอร์สโค้ดของ Django ตัวเอง (Django / contrib / ธุรการ / แม่) เป็นผู้ดูแลระบบไดเรกทอรีย่อยของmyappไดเรกทอรีเป็นกวดวิชาสั่ง แต่มันก็ไม่ได้ดูเหมือนจะมีผล ด้วยเหตุผลบางอย่าง. มีเงื่อนงำอะไรที่อาจเป็นปัญหา?
91 python  django 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.