sqlite3.OperationalError) В табличном документе нет столбца с именем pdomain, пока он существует, и нет ошибки опечатки - PullRequest
0 голосов
/ 20 апреля 2020

это моя функция

# App Interface
@app.route('/')
@app.route('/editor/', methods=['GET', 'POST'])
def showEditor():

    count_likes = sumlikes()
    count_dislikes = sumdislikes()
    if request.method == 'POST':
        new_document = Document(title=request.form['title'], pdomain=request.form['page_name'],
                          d_h1=request.form['is_header'],
                          d_p=request.form['is_p'],
                          d_textcolor=request.form['h_text_color'],
                          d_pagecolor=request.form['d_page_color'],
                          d_background=request.form['h_background'],
                          d_pwidth=request.form['h_width'],
                          d_margin=request.form['h_margin'],
                          d_padding=request.form['h_padding'],
                          d_textalign=request.form['h_align'],
                          h1_border=request.form['h_border'],
                          h1_bradius=request.form['h_border_radius'],
                          h1_fsize=request.form['h_font_size'],
                          h1_customsize=request.form['h_custom_size'],
                          h1_width=request.form['h_width'],
                          h1_image=request.form['h_background_img'],
                          h1_cover=request.form['h_cover'])
        try:
            session.add(new_document)
            session.commit()
            #flash('You Saved Your Code Checkk it at <a href="127.0.0.1:5000/%s">Here</a>' % (new_document.domain))
        except:
            session.rollback()
            raise
        finally:
            session.close()

это таблица базы данных. Документ

class Document(Base):
    __tablename__ = 'document'

    id = Column(Integer, primary_key=True)
    title = Column(String(100))
    pdomain= Column(String(100), nullable=False)
    # main elements
    d_h1 = Column(String(1000))
    d_p = Column(String(3000))
    d_img = Column(String(500))
    # style section fixed values for h1 or p
    d_textcolor = Column(String(50))
    d_pagecolor = Column(String(50))
    d_background = Column(String(300))
    d_pwidth = Column(String(50))
    d_margin = Column(String(50))
    d_padding = Column(String(50))
    d_textalign = Column(String(50))
    # style section fixed image
    d_imgwidth = Column(String(500))
    d_imgheight = Column(String(50))
    d_imgradius = Column(String(50))
    d_borderwidth = Column(String(50))
    d_bordertype = Column(String(50))
    d_bordercolor = Column(String(100))
    # style section variable for h1
    h1_image = Column(String(500))
    h1_border = Column(String(100))
    h1_background = Column(String(50))
    h1_bradius = Column(String(50))
    h1_fsize = Column(String(50))
    h1_customsize = Column(String(100))
    h1_width = Column(String(100))
    h1_cover = Column(String(100))
    # users comments and post
    user_post = Column(String(2000))
    comment = Column(String(2000))
    # some extra storage
    extra = Column(String(500))
    extra_string = Column(String(500))
    another_string = Column(String(500))
    last_extra = Column(String(500))
    extra_int = Column(Integer)

Я добавил несколько дополнительных столбцов в таблицу (я не использовал их позже, позже ) + когда я отправляю форму, не все входы будут иметь значения, некоторые входы будут пустыми , когда я отправляю форму, некоторые входы будут пустыми без значений

и html форма:

<form action="{{url_for('showEditor')}}" method = "post">
<input type="text"  class="ufrom" name="title" value="" placeholder="enter Code title" required="required">
<input type="text"  class="ufrom" name="page_name" value="" placeholder="enter domain name" required="required">

<input type="text"  class="user_style" name="is_header" value="">
<input type="text"  class="user_style" name="is_p" value="">
<input type="text"  class="user_style" name="h_text_color" value="">
<input type="text"  class="user_style" name="d_page_color" value="">
<input type="text"  class="user_style" name="h_background" value="">
<input type="text"  class="user_style" name="h_width" value="">
<input type="text"  class="user_style" name="h_margin" value="">
<input type="text"  class="user_style" name="h_padding" value="">
<input type="text"  class="user_style" name="h_align" value="">
<input type="text"  class="user_style" name="h_border" value="">
<input type="text"  class="user_style" name="h_border_radius" value="">
<input type="text"  class="user_style" name="h_font_size" value="">
<input type="text"  class="user_style" name="h_custom_size" value="">
<input type="text"  class="user_style" name="h_width" value="">
<input type="text"  class="user_style" name="h_background_img" value="">
<input type="text"  class="user_style" name="h_cover" value="">

<input type="submit" value="submit" style="background-color:green;cursor:pointer">
</form>

Я всегда получал эту ошибку:

OperationalError: (sqlite3.OperationalError) table document has no column named pdomain
[SQL: INSERT INTO document (title, pdomain, d_h1, d_p, d_img, d_textcolor, d_pagecolor, d_background, d_pwidth, d_margin, d_padding, d_textalign, d_imgwidth, d_imgheight, d_imgradius, d_borderwidth, d_bordertype, d_bordercolor, h1_image, h1_border, h1_background, h1_bradius, h1_fsize, h1_customsize, h1_width, h1_cover, user_post, comment, extra, extra_string, another_string, last_extra, extra_int) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]
[parameters: (u'my code', u'google', u'<h1>h1</h1>', u'', None, u'blue', u'green', u'blue', u'', u'', u'', u'center', None, None, None, None, None, None, u"url('https://cdn.pixabay.com/photo/2017/08/30/01/05/milky-way-2695569_960_720.jpg')", u'1px dashed black', None, u'0', u'', u'', u'', u'cover', None, None, None, None, None, None, None)]
(Background on this error at: http://sqlalche.me/e/e3q8)

и иногда эту ошибку (имя было доменным и находилось в домене базы данных, но я изменил его на pdomain и по-прежнему сталкиваюсь с проблемой:

  TypeError: 'domain' is an invalid keyword argument for Document
  File "/vagrant/nocode_editor/test.py", line 83, in showEditor
  h1_cover=request.form['h_cover'])

Обратите внимание, что я пытался изменить это pdomain или домен и все еще получаю эту ошибку

извините, я абсолютный новичок Пожалуйста, помогите мне решить эту проблему

...